Makro nur im aktivem Sheet ausführen
04.08.2017 13:13:09
torro100
ich erstelle eine Toolbar mit 4 Einträgen, die für alle Tabellenblätter gelten sollen. Wenn ich eines der Makros auswähle, soll dies aber nur auf das gerade aktive Sheet angewendet werden.
Auf ein namentlich genanntes Sheet (x86_..) funktioniert es ohne Probleme.
Hier der Code:
Sub create_offer()
Dim wks As Worksheet
Dim blatt As String
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
Application.DisplayAlerts = False
blatt = "offer"
For Each wks In ActiveWorkbook.Worksheets
If wks.Name = blatt Then
Sheets(blatt).Delete
End If
Next
Worksheets.Add.Move After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = blatt
Application.DisplayAlerts = True
With Worksheets("x86_Power_middleware")
ZeileMax = .UsedRange.Rows.Count
n = 1
For Zeile = 1 To ZeileMax
If .Cells(Zeile, 2).Value = "1" Then
.Rows(Zeile).Copy
Worksheets("offer").Rows(n).PasteSpecial Paste:=xlPasteValues
Worksheets("offer").Rows(n).PasteSpecial Paste:=xlPasteFormats
n = n + 1
End If
Next Zeile
End With
Worksheets("offer").Activate
'ActiveWorkbook.Worksheets("offer").Columns("B").Delete
ActiveWorkbook.Worksheets("offer").Columns("A:M").EntireColumn.AutoFit
ActiveWorkbook.Worksheets("offer").Cells.ClearOutline
End Sub