Ein Excel Makro zum vorbereiten einer Excel Datei für Filemaker
#21
Hast du eine idee warum es nicht klappt?
Top
#22
Hallöchen,

sorry, habe den Thread aus den Augen verloren Sad

Also, zu der Verarbeitung der Pfade beim Mac kann ich nichts sagen. Es stimmt aber zumindest auch für die Windows-Version noch nicht alles. Ausgangspunkt war ja die Frage nach den Pfaden. Mit dem Code passt auch erst mal der Pfad. Allerdings fehlt dann noch die Datei, die gespeichert werden soll. Das sollte ja ohne Benutzerabfrage passieren.

Da kommt jetzt noch dass, dass ich die falsche Stelle zum Ändern erwischt hatte Sad Ich hatte angenommen, dass Du auch das Öffnen ohne Benutzereingebe machen wolltest.

Also, der Teil war bei Dir korrekt, wenn es denn mit Benutzereingabe sein soll:

Code:
  'Datei über Dialog Öffnen
   Datei = Application.GetOpenFilename
   If Datei = Empty Then Exit Sub

   'wofür ist der 1.Befehl ???  wird er gebraucht??
   ExecuteExcel4Macro "WINDOW.MOVE(16,-35,"""")"
   Workbooks.Open Filename:=Datei


Das mit dem Pfad kommt danach:
Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\"))
Damit ermittelst Du den übergeordneten Pfad von dem, wo die Datei mit dem Makro liegt.

Eventuell kannst Du gleich hier noch den Namen der gerade geöffneten - also aktiven - Datei anhängen. Dann würde die Zeile so aussehen:
Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & ActiveWorkbook.Name

und später speicherst Du:
ActiveWorkbook.SaveAs Datei
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#23
Da die ausgangsdatei immer gleich heißt kann diese auch ihne benutzerengabe geöffnet werden
Top
#24
Hallöchen,

steht die auch im übergeordneten Pfad?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#25
Genau sowohl die ursprungsdatei als auch die export datei
Top
#26
Hallöchen,

dann ging es anfangs doch in die richtige Richtung. Hier erst mal der Teil mit dem Öffnen, der könnte dann so aussehen:

Code:
'Datei ohne Dialog Öffnen
Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "DeinDateiName.xlsx"
'wofür ist der 1.Befehl ???  wird er gebraucht??
ExecuteExcel4Macro "WINDOW.MOVE(16,-35,"""")"
Workbooks.Open Filename:=Datei

Statt "DeinDateiName.xlsx" dann den erforderlichen Namen einsetzen.

Dann kommt die Ganze Verarbeitung und am Ende - vielleicht statt diesem Code, ich weiß jetzt gar nicht, wie Dein letztes Speichern aussah -
  'Datei über Dialog speichern
  Application.Dialogs(xlDialogSaveAs).Show (strDateiname)
  ActiveWindow.Close
  Windows("Import vorbereiten.xlsm").Close False

dann so was nehmen:
Code:
  'Datei ohne Dialog speichern
  ActiveWorkbook.Save
  ActiveWindow.Close
  Windows("Import vorbereiten.xlsm").Close False
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#27
Habe deine beiden Codeelemente eingefügt.
Es kommt leider immer noch die Fehlermeldung.

Code:
Sub Import_vorbereiten()
' Import_vorbereiten Macro

'Datei ohne Dialog Öffnen
Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "Import.xls"


'wofür ist der 1.Befehl ???  wird er gebraucht??
ExecuteExcel4Macro "WINDOW.MOVE(16,-35,"""")"
Workbooks.Open Filename:=Datei


 
 Cells.UnMerge  'verbundene Zellen auflösen
 
 'Zeilen + Spalten löschen
 Rows("1:13").Delete Shift:=xlUp
 Columns("A:A").Delete Shift:=xlToLeft
 
 'Spalten Breite einstellen
 Columns("A:AW").ColumnWidth = 2.83
 Columns("A:AW").ColumnWidth = 9.67
 
 
 '** welche Sinn macht das Selektieren ???
 '   ausser zum Ansehen gibt es hier keine Funktion !!
 Range("B:I,K:K,L:L,M:M,N:N,P:P,Q:Q,R:R,S:S").Select
 Range("S1").Activate
 ActiveWindow.SmallScroll ToRight:=5
 Range("B:I,K:K,L:L,M:M,N:N,P:P,Q:Q,R:R,S:S,U:U,V:V,W:W,X:X").Select
 Range("X1").Activate
 ActiveWindow.SmallScroll ToRight:=13
 Range("B:I,K:K,L:L,M:M,N:N,P:P,Q:Q,R:R,S:S,U:U,V:V,W:W,X:X,Z:Z,AA:AA," & _
   "AB:AB,AC:AC,AE:AE,AF:AF,AG:AG,AH:AH,AJ:AJ,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO").Select
 Range("AO1").Activate
 ActiveWindow.SmallScroll ToRight:=10
 Union(Range("AV:AV,AW:AW,B:I,K:K,L:L,M:M,N:N,P:P,Q:Q,R:R,S:S,U:U,V:V,W:W,X:X,Z:Z,AA:AA,AB:AB," & _
    "AC:AC,AE:AE,AF:AF,AG:AG,AH:AH,AJ:AJ,AK:AK,AL:AL,AM:AM,AN:AN,AO:AO,AQ:AQ,AR:AR,AS:AS"), _
    Range("AT:AT,AU:AU")).Select
 Range("AW1").Activate
 ActiveWindow.SmallScroll ToRight:=12
 Range("AW6").Select
 ActiveWindow.SmallScroll ToRight:=-222
 '** ganzer Block unnütze Funktionen, am besten löschen !!
     
 'Spalten Bereich gezielt löschen
 Range("B:B,C:C,D:D,E:E,F:F,G:G,H:H,I:I").Delete Shift:=xlToLeft
 Range("C:C,D:D,E:E,F:F,H:H,I:I,J:J,K:K").Delete Shift:=xlToLeft
 Range("E:E,F:F,G:G,H:H,J:J,K:K,L:L,M:M,O:O,P:P,Q:Q,R:R").Delete Shift:=xlToLeft
 Range("H:H,I:I,J:J,K:K,L:L,M:M,O:O,P:P,Q:Q,R:R,S:S,T:T").Delete Shift:=xlToLeft
 
 'Spalten + Zeilen löschen
 Columns("I:X").Delete Shift:=xlToLeft
 Rows("4:4").Delete Shift:=xlUp
 Rows("1:2").Delete Shift:=xlUp
 
 'Zeilenhöhe einstellen
 Rows("1:7").RowHeight = 16
 
'Datei Vorgabe zum Speichern  (oder Empty)
strDateiname = Import

'Datei ohne Dialog speichern
 ActiveWorkbook.Save
 ActiveWindow.Close
 Windows("Import vorbereiten.xlsm").Close False
Application.Quit
End Sub


Angehängte Dateien Thumbnail(s)
       
Top
#28
Hallo Philipp,

eventuell sind auf dem MAC die Verzeichnistrenner nicht \ sondern /

Kontolliere mal bitte, was in ThisWorkbbok.Path steht. Du kannst das mal markieren, "Überwachung hinzufügen" ausführen und in der Codezeile einen Haltepunkt setzen. Wenn der Code dort anhält, 1x F8 drücken und schauen, was in der Überwachung steht.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#29
Da bin ich etwas überfragt wie funktioniert das genau
Top
#30
Hallo Philipp,

markiere ThisWorkbbok.Path und klicke mit der rechten Maustaste darauf. Im Kontextmenü hast Du dann "Überwachung hinzufügen" - jedenfalls in Windows.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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