Makro optimieren

22/07/2009 - 22:36 von T & J Rupp | Report spam
Hallo NG,

ich hoffe mir kann hier geholfen werden.
Zur Erfassung von Messdaten, Auswertung und Archivierung, habe ich einen
Ordner Messungen mit zwei Workbooks, Messungen & Archiv angelegt. Ich habe
ein Makro zusammengebastelt welches die Messdaten auswertet, die Daten in
die entsprechenden Anlagenblàtter übernimmt und zur Dokumentation im
Workbook Archiv speichert. Nun haben an diesen zwei Exceldateien auch noch
andere Kollegen Interesse und das Makro muß wegen des anderen Speicherortes
angepasst werden. Daher meine 1. Frage: wie bekomme ich es ohne absolute
Pfadangaben hin, dass das Makro an jedem Speicherort funktioniert.
2. Frage: Im Workbook Archiv wird das Tabellenblatt unter dem Namen "Messung
& Jahr & Monat" gespeichert. Was muss ich àndern, wenn bei Monat kleiner 07,
anstelle dem Monat eine 1, und grösser 07 eine 2 hinzugefügt wird. Müsste
eigendlich mit If then zu bewerkstelligen sein aber ich bekomms nicht hin.

Code des Makro nachstehend. (Office-XP)
steht in einem Modul des Workbooks Messungen

Sub Archivieren()
Application.ScreenUpdating = False 'Bildschirmaktualsierung inaktiv
Range("A2:O34").Select
Range("A2").Activate
Selection.Copy
Workbooks.Open Filename:="F:\Messungen\Archiv.xls" 'muß bei Bedarf
angepasst werden'
Sheets.Add
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Messung " & Format(Date$, "yyyy-mm")
Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True 'Bildschirmaktualsierung aktiv
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Messungen.xls").Activate
Range("A1").Select
End Sub

Ich bedanke mich für Eure Hilfe

Gruß Johann
 

Lesen sie die antworten

#1 Karsten W.
23/07/2009 - 01:15 | Warnen spam
Hallo Johann:

Zu 1) Wenn du davon ausgehen kannst, dass Messungen und Archiv sich im
gleichen Ordner befinden, nimm doch thisworkbook.path & "\archiv.xls"
oder so was..

Zu 2) Mein (ungeprüfter) Tipp: if month(now)<7 then..

Gruß,
Karsten.

Ähnliche fragen