xls macro automatisierungsproblem
18.06.2008 23:10:14
Michael
ich habe folgendes Problem, ich möchte aus einen Fahrplan, den ich in 2 Tabellen gegliedert habe (Nord)- , und (Süd)-Richtung einen "Umlaufplan" automatisch erstellen.
Wenn die 1.Tram um 6:00 Adorf (A2) abfährt und um in Dheim um 6:13 (D2) ankommt,
soll mit Hilfe Feld (E2) die Abfahrtzeit für die Rückfahrt in der (Süd)-Tabelle in Spalte A gesucht werden.
hier (6:18).
Ich habe bereits versucht, mit dem Marcro-Recorder, die Kopiervorgänge nach Tabelle3 zu automatisieren.
Leider funktioniert das gegenwärtig nur "Halb-Automatisch"
Zum einen gelingte es mir nicht den Zeit-Wert aus irgendein Feld als String zu nehmen, den ich für die
Suchfunktion "t" dringend brauche und zum anderen habe
ich keine Ahnung, wie man automatisch die Felder vor dem Einfügen um "+1 hochsetzt" um die bereits eingefügten Werte nicht wieder neu zu überschreiben (löschen).
Vielleicht kann mir der eine oder andere einen Tip geben, wie man das Problem lösen kann.
Die xls-Datei ist unter https://www.herber.de/bbs/user/53190.xls abgelegt.
Sub Makro1()
' Makro1 Makro
' Makro am 17.06.2008 von BB aufgezeichnet
Sheets("Nord").Select
Range("A2").Select
Selection.Copy
Sheets("Tabelle3").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("Nord").Select
Range("D2").Select
Selection.Copy
Sheets("Tabelle3").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("Nord").Select
Range("E2").Select
Selection.Copy
t = "6:18" '..................hier habe ich für "t" 6:18 erzwungen;
'eigentlich sollte hier aus der Nord-Tabelle Feld (E2)
'den Wert schnappen und für "t" eingesetzt werden.
'Dim l As Integer ..hier habe ich versucht den Wert in Feld (E2) als "t" zu nehmen.
'For t = 1 To 2 Funktionierte nicht.
'ttm = Cells(t, 8)
'Next t
'Dim l As Double ...hier habe ich versucht den Wert in Feld (E2) als "t" zu nehmen.
'For t = 1 To 2
'ttm = ActiveSheet.Cells(t, 8).Value
'Next t
Sheets("Süd").Select
Columns("A:A").Select
Selection.Find(What:=t, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Select
Selection.Copy
Sheets("Tabelle3").Select
Range("B3").Select
ActiveSheet.Paste
Sheets("Süd").Select
Range("D2").Select
Selection.Copy
Sheets("Tabelle3").Select
Range("D3").Select
ActiveSheet.Paste
Sheets("Süd").Select
Range("E2").Select
Selection.Copy
t = "6:40"
Sheets("Nord").Select
Columns("A:A").Select
Selection.Find(What:=t, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Select
Selection.Copy
Sheets("Tabelle3").Select
Range("B4").Select
ActiveSheet.Paste
Sheets("Nord").Select
Range("D4").Select
Selection.Copy
Sheets("Tabelle3").Select
Range("D4").Select
ActiveSheet.Paste
End Sub
Vielen Dank im Vorraus
Michael