1.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

kann mir jemand sagen, wie ich in VBA den Namen der aktuell geöffneten Datei als parameter speichern kann?

Hab schon einiges versucht wie ZB: ziel = ThisWorkbook.Filename

Ich setz mal den Code meines Makros rein, vielleicht versteht ihr dann besser was ich versuche...

Sub Spaltenbreite()

'hier Dateinamen der Ursprungsdatei eintragen
ziel = ThisWorkbook.Filename ---> funktioniert nicht...
'--------------------
ursprung = InputBox("Name der Ursprungsdatei?")
Windows(ursprung).Activate
'--------------------

'Windows("401611-2300-2350-2450-2500 Tracteurs.xls").Activate
'Sheets("Wartung").Select
Range("A1").Select
'sanzahl = InputBox("Für wie viele Spalten soll die jeweilige Breite gemerkt werden?")
sanzahl = 20
ReDim dummy(sanzahl) As Double
For i = 1 To sanzahl
dummy(i) = ActiveCell.Columns("A:A").EntireColumn.ColumnWidth
ActiveCell.Offset(0, 1).Select
Next i
ActiveSheet.Cells(1, 1).Select


'--------------------
'ziel = InputBox("Name der Zieldatei?")
Windows(ziel).Activate
'--------------------

'hier Dateinamen der Zieldatei eintragen
'Windows("401611-2350 TB1 - keytech.xls").Activate

'hier Namen der Zielblattes eintragen
'Sheets("Wartung").Select

Range("A1").Select
For i = 1 To sanzahl
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = dummy(i)
ActiveCell.Offset(0, 1).Select
Next i
ActiveSheet.Cells(1, 1).Select
End Sub

Danke

Andreas

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo andreas,

Klase Betreff.

Warum nicht
Sub Test()
MsgBox ThisWorkbook.Name
End Sub

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

Sorry für den Betreff...

Leider hat das so nicht geklappt. Da VBA dann den Namen meiner Makro-Arbeitsmappe speichert. Diese Arbeitsmappe wird bei mir beim Excel-Start geöffnet und dient nur dazu Makros abzuspeichern.
Es sollte aber der Name der Arbeitsmappe gespeichert werden, von der aus das Makro aufgerufen wurde.

so ähnlich: CurrentWorkbook.Name (funktioniert leider nicht)

Hast du ne Idee?

Gruß
Andreas
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Andreas,

ich vermute dann ActiveWorkbook.name
da es die aktive Arbeitsmappe ist.

Gruß Hajo
0 Punkte
Beantwortet von
Tip top, ich brauch noch was Erfahrung um selbst drauf zu kommen. Aber so läuft's!

Danke

Andreas
...