Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellen Umformatierung und Script/Makro zur Dateiauswahl
#11
Hallo,

danke nochmal.
Also das funktioniert leider auch nicht...
Das Problem ist das die WorkFusion variable dann die Formel nehmen würde die hinterlegt ist.
Ich musste es, deshalb so lösen, als dass ich ein extra Feld angelegt habe wo das Datum in dem bestimmten Format direkt in Text Form eingetragen wird, ohne Formeln und Formatierungen (siehe Datei "AV Auftragsplanung Vorlage").
Ich werde wahrscheinlich nicht drum rum kommen, aber so schlimm ist es auch nicht. Hätte ja sein können, dass es einen einfachen Lösungsweg gibt den ich übersehen habe.  :19:
Antworten Top
#12
Hi,

nimm Marcus' Vorschlag mit der Hilfsspalte, kopiere diese und füge sie wieder als Werte ein. Dann ist die Formel weg und das Ergebnis steht als Text in der Zelle.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • ExcelBob
Antworten Top
#13
Hallo,

alternativ könnte man den Wert auch mit VBA aus dem Datum generieren, dann ist es gleich eine "richtige" Zahl ohne Formel im Hintergrund.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • ExcelBob
Antworten Top
#14
Hallo zusammen,

okay, ich glaube ich hatte das mit der Hilfsspalte falsch verstanden, ich werde mir das nochmal genauer anschauen.
Dankeschön.

Zu der Übertragung der Ursprungsdatei zu meiner Makrodatei habe ich jetzt auch eine Lösung finden können.
Code:
Sub Transfer()
Dim var_fileAV As Variant
var_fileM = ThisWorkbook.Name

    var_fileAV = Application.GetOpenFilename()
    If var_fileAV = False Then
        MsgBox "Der Benutzer hat abgebrochen.", vbInformation
    Else
    Dim var_fileAV_x As String
    Workbooks.Open var_fileAV
    var_fileAV_x = Split(var_fileAV, "\")(UBound(Split(var_fileAV, "\")))
   
    Workbooks(var_fileAV_x).Activate
    Range("b4:p6").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B6").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b10:p12").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B12").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b21:p23").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B25").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b27:p29").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B31").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b38:p40").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B44").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b44:p46").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B50").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b55:p57").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B63").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b61:p63").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B69").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b72:p74").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B82").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b78:p80").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B88").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b89:p91").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B101").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b95:p97").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B107").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b106:p108").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B120").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b112:p114").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B126").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b123:p125").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B139").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b129:p131").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B145").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b140:p142").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B158").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b146:p148").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B164").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Activate
    Range("b157:p159").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B177").Select
    ActiveSheet.Paste
    Workbooks(var_fileAV_x).Activate
    Range("b163:p165").Select
    Selection.Copy
    Windows(var_fileM).Activate
    Range("B183").Select
    ActiveSheet.Paste
   
    Workbooks(var_fileAV_x).Close SaveChanges:=False
    End If
   
End Sub

Relativ simpel aber es ist perfekt für meine Bedürfnisse, hab das auch diesmal selber geschrieben ohne Aufnahme.
Jetzt fehlt nur noch die Übertragung wieder zurück in die Ursprungstabelle, aber das sollte auf die gleiche Weise funktionieren.

Ich bin nach wie vor offen für elegantere Wege das ganze zu lösen, also wenn euch was einfällt, immer her damit  :19:

Danke an alle.
Antworten Top
#15
Hallo Bob,

Hier mal eine Makrolösung. Datei hänge ich auch an:


Zitat:
Option Explicit

Public Sub Formel2Wert()
  Dim s      As Integer
  Dim z      As Long
  Dim lngCalc As Long
  With Application

    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .EnableCancelKey = xlDisabled
    .ScreenUpdating = False
  End With
  z = 1
  For s = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    Cells(s, 2) = Format(Cells(s, 1), "ddmmyy")
    Cells(s, 2).Select
  Next
  With Application
    .Calculation = lngCalc
    .ScreenUpdating = True
  End With
End Sub


Gruß
Marcus


Angehängte Dateien
.xlsm   VBA_Datum_als_Text.xlsm (Größe: 16,87 KB / Downloads: 2)

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
[-] Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:
  • ExcelBob
Antworten Top
#16
Hi Marcus, 

okay super, danke.
Das scheint zu funktionieren :)

Jetzt hab ich noch ein weiteres Problem entdeckt.

Und zwar spiele ich gerade mit PasteSpecial rum und will dass nur die Werte aus den Zellen ohne Formatierung und ohne Kommentare eingefügt werden sollen.
Mit xlpastevalues scheint er zwar die Formatierungen nicht mit zu übertragen, aber die Kommentare.

Gibt es eine Möglichkeit, dass er mir die Kommentare nicht mit einfügt?

EDIT:

Hab eine Lösung gefunden, ich füge am Ende meines Makros einfach folgendes ein:

Cells.Select
Selection.ClearComments
Antworten Top
#17
Hallo,
schön das jetzt alles klappt. Freut mich geholfen zu haben.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
[-] Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:
  • ExcelBob
Antworten Top
#18
(27.01.2020, 12:07)marose67 schrieb: Hallo,
schön das jetzt alles klappt. Freut mich geholfen zu haben.

Gruß
Marcus

Hi Marcus,

ich brauche doch nochmal deine Hilfe  Angel

Also da ich generell mit Variablen und Loops noch nicht so vertraut bin kann ich deinen Code noch nicht für meine Zwecke umschreiben.
Ich benötige das Ganze nämlich so, dass in der Datei "AV Auftragsplanung Vorlage" das Datum was Bspw. in B1 steht umgewandelt wird so wie in deinem Beispiel (also in "ddmmyy"), in B4 eingetragen wird.
Außerdem frage ich mich ob es zusätzlich noch möglich wäre selbiges Datum +2 Tage zu rechnen und mir ebenfalls in eine bestimmte Zelle zu schreiben (in meiner Datei bspw. in B5).

Hintergrund: das Lieferdatum ist in der Regel 2 Tage nach dem Auftrags Datum.
Kleine Übersicht in der Grafik im Anhang.

Ansonsten wäre dein Makro echt perfekt für mich Exclamation :18:

Vielen Dank schon mal

mfG Bob


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#19
Hallo,

also ich glaube ich hab es jetzt hinbekommen mit deinem Makro, ich hab es etwas abgeändert.
Das muss ich jetzt nur noch für alle Maschinen einfügen, also das ganze x10  :19:
Code:
Sub test1()
Dim c       As Integer
Dim lngCalc As Long
With Application

    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .EnableCancelKey = xlDisabled
    .ScreenUpdating = False
End With
 
For c = 2 To Cells(1, Columns.Count).End(xlToLeft).Column
    Cells(2, c) = Format(Cells(1, c), "ddmmyy")
    Cells(2, c).Select

Next
With Application
    .Calculation = lngCalc
    .ScreenUpdating = True
End With

End Sub


Eine Sache ist mir noch eingefallen: Wenn ich ein Datum mit einer "0" vorne also bspw. "01.02.2020" formatiere, dann sieht es so aus: "10220".
Ich benötige aber eigentlich noch eine "0" vorne, also es müsste so aussehen, damit es funktioniert: "010220".

Kann man da noch was an der Formatierung ändern im Makro? Ich hoffe es gibt dafür auch eine Lösung  Undecided
Antworten Top
#20
Exclamation Bump  Exclamation
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste