Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro zusammenführen

Forumthread: Makro zusammenführen

Makro zusammenführen
Mat
Hallo Leute,
ich habe drei Einzelmakros und würde diese gerne als ein Makro oder zumindest automatisch hintereinander ablaufen lassen.
Sub verteile_personaln()
Dim i As Long
Dim lastrow As Long
Dim vname As String
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Cells(1, 1).Value = vname
For i = 1 To lastrow
If Cells(i, 1).Value = Empty Then
Cells(i, 1).Value = vname
Else:
vname = Cells(i, 1).Value
End If
Next i
End Sub

Sub verteile_name()
Dim i As Long
Dim lastrow As Long
Dim vname As String
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Cells(1, 2).Value = vname
For i = 2 To lastrow
If Cells(i, 2).Value = Empty Then
Cells(i, 2).Value = vname
Else:
vname = Cells(i, 2).Value
End If
Next i
End Sub

Sub verteile_abteil()
Dim i As Long
Dim lastrow As Long
Dim vname As String
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Cells(1, 3).Value = vname
For i = 1 To lastrow
If Cells(i, 3).Value = Empty Then
Cells(i, 3).Value = vname
Else:
vname = Cells(i, 3).Value
End If
Next i
End Sub
Wer kann mir dabei helfen.
Gruß Mat
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro zusammenführen
04.05.2012 10:01:13
Sheldon
Hallo Mat,
z. B. so:
Sub Makros_starten()
verteile_personaln()
verteile_name()
verteile_abteil()
End Sub
Die Codes deiner drei Makros verstehe ich nicht. Die Variable vname ist ja jeweils leer beim Makrostart. Also wird eigentlich überall ein Leerstring eingefügt, wo die If-Bedingung zutrifft. Der Else-Teil der If-anweisung ist nicht als solcher notiert, sondern als Sprungmarke. Das bedeutet, die Else-Bedingung wird immer durchlaufen. Als Else-Anweisung wird das nur ohne Doppelpunkt erkannt.
Gruß
Sheldon
Anzeige
AW: Makro zusammenführen
04.05.2012 10:27:04
Reinhard
Hallo Sheldon,
beim Else irrst du dich:
Sub test()
Call tt1
Call tt2
Call tt3
End Sub

Sub tt1()
Dim Zei, A
For Zei = 1 To 10
If Zei = 4 Then
A = A
Else: A = A + 1
End If
Next Zei
MsgBox A
End Sub

Sub tt2()
Dim Zei, A
For Zei = 1 To 10
If Zei = 4 Then
A = A
Else: A = A + 1: End If
Next Zei
MsgBox A
End Sub

Sub tt3()
Dim Zei, A
For Zei = 1 To 10
If Zei = 4 Then
A = A
Else
A = A + 1
End If
Next Zei
MsgBox A
End Sub

Gruß
Reinhard
Anzeige
AW: Makro zusammenführen
04.05.2012 10:48:25
Sheldon
Hallo Reinhard,
da hab ich wieder was gelernt. Schön erklärt, v. a. mit den drei Varianten! Danke!
Gruß
Sheldon
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige