Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen automatisch übernehmen

Dateinamen automatisch übernehmen
26.05.2007 11:13:04
Christian
Servus zusammen,
ich habe folgenden Teil in meinem Makro stehen

Sub kopieren()
Dim lngLastRow As Long
Workbooks.Open Filename:="K:\Mappe1.xls"
With Workbooks("Mappe1.xls").Sheets("Tabelle1")
lnglastRow = .Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Range("$A$1:$G$" & lnglastRow).Copy Destination:=Workbooks("07-7.xls").Sheets("Tabelle1"). _
Range("A65536").End(xlUp).Offset(0, 0)
End With
Workbooks("Mappe1.xls").Close SaveChanges:=True
Application.CutCopyMode = False
End Sub


Da ich jewils 50 fortlaufende Dateien habe ( 07-1.xls, 07-2.xls , 07-3.xls, u.s.w.), muss ich natürlich jedesmal den Destination-Pfad anpassen, damit das Makro in der jeweiligen Datei abläuft.
Wie kann man das Makro umschreiben, dass der Destination-Pfad, automatisch den entsprechenden Dateinamen in Workbooks("Dateiname").Sheets... übernimmt.
Besten Dank für eure Hilfe.
Gruß
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen automatisch übernehmen
26.05.2007 11:17:00
Matthias
Hallo Christian,
statt Workbooks("07-7.xls").Sheets("Tabelle1") kannst du schreiben:
ThisWorkbook.Sheets("Tabelle1")
ThisWorkbook ist das, in dem der Code steht.
Gruß Matthias

AW: Dateinamen automatisch übernehmen
26.05.2007 11:54:06
Christian
Danke,
irgenwie logisch. Funktioniert einwandfrei. Danke.
Ich habe allerdings hier auch noch ein anderes Makro mit ähnlichem Problem:

Sub dateizähler1()
Dim zähler As Byte
Application.DisplayAlerts = False 'keine Warnungen anzeigen
For zähler = 1 To 50
ActiveWorkbook.SaveCopyAs "D:\Rad\Datenbank\Master\Master-" & zähler & ".XLS"
Next
Application.DisplayAlerts = True
End Sub


Hier soll der Pfad automatisch angepasst werden. Sagen wir die Datei steht in "D:\Rad\Datenbank\2007\07-"& zähler & ".XLS" oder statt 07 z.B.: 08 ...\2008\08-...
Wie kann man das bewerkstelligen?
Gruß
Christian

Anzeige
AW: Dateinamen automatisch übernehmen
26.05.2007 12:04:07
Matthias
Hallo Christian,
das müsste so gehen:

ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\..\Master\Master-" & zähler & ".XLS"


das \..\ bringt dich eine Verzeichnisebene höher.
Gruß Matthias

AW: Dateinamen automatisch übernehmen
26.05.2007 12:21:00
Christian
Servus Matthias,
ThisWorkbook.Path das wars:
habe es so gelöst und funktioniert einwandfrei:

Sub dateizähler1()
Dim s As String
Dim zähler As Byte
s = InputBox("Dateiname ohne xls ?")
If s  "" Then
Application.DisplayAlerts = False 'keine Warnungen anzeigen
For zähler = 1 To 50
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & s & zähler & ".XLS"
Next
Application.DisplayAlerts = True
Else
Exit Sub
End If
End Sub


Dank dir für den Tipp.
Gruß
Christian

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige