ich brauche für ein Makro folgende Anweisung, weiss aber nicht, wie das in VBA-Code formuliert wird:
Wenn die aktive Zelle sich in Spalte C oder in Spalte I befindet, dann etc...
Besten Dank
thomas
Sub Seitenwahl()
Dim iWks As Integer
Dim sp As Integer
sp = ActiveCell.Column
If sp = 3 Or sp = 9 Then
For iWks = 1 To Worksheets.Count
If Worksheets(iWks).Name <> ActiveCell.Value Then
Worksheets(iWks).Visible = False
End If
Next
Else
MsgBox "Zelle in falscher Spalte aktiv"
End If
End Sub
Sub Seitenwahl()
Dim iWks As Integer
Dim sp As Integer
sp = ActiveCell.Column
If sp = 3 Or sp = 9 Then
On Error Resume Next
Sheets(ActiveCell.Value).Activate
If Err.Number > 0 Then MsgBox "Blatt """ & ActiveCell.Value & """ nicht gefunden!"
Err.Clear
End If
End Sub
Um ein Makro zu erstellen, das überprüft, ob die aktive Zelle sich in Spalte C (3) oder I (9) befindet, kannst du den folgenden VBA-Code verwenden:
Sub Seitenwahl()
Dim iWks As Integer
Dim sp As Integer
sp = ActiveCell.Column
If sp = 3 Or sp = 9 Then
For iWks = 1 To Worksheets.Count
If Worksheets(iWks).Name <> ActiveCell.Value Then
Worksheets(iWks).Visible = False
End If
Next
Else
MsgBox "Zelle in falscher Spalte aktiv"
End If
End Sub
Dieser Code prüft die Spalte der aktiven Zelle und blendet alle Arbeitsblätter aus, deren Namen nicht mit dem Wert der aktiven Zelle übereinstimmt.
If Worksheets(iWks).Name <> ActiveCell.Value Then
Worksheets(iWks).Visible = False
End If
Falls du die aktive Zelle in Spalte C oder I prüfen und nur das entsprechende Blatt aktivieren möchtest, kannst du folgenden Code verwenden:
Sub Seitenwahl()
Dim sp As Integer
sp = ActiveCell.Column
If sp = 3 Or sp = 9 Then
On Error Resume Next
Sheets(ActiveCell.Value).Activate
If Err.Number > 0 Then MsgBox "Blatt """ & ActiveCell.Value & """ nicht gefunden!"
Err.Clear
End If
End Sub
Dieser Code aktiviert nur das Arbeitsblatt, das dem Wert der aktiven Zelle entspricht, ohne andere Arbeitsblätter auszublenden.
Select Case
, um den Code übersichtlicher zu gestalten:Select Case ActiveCell.Column
Case 3, 9
' Dein Code hier
End Select
Application.ScreenUpdating = False
, um die Bildschirmaktualisierung zu deaktivieren, während das Makro läuft. Das erhöht die Geschwindigkeit und verhindert Flackern.1. Was ist aktiv in Excel? Die aktive Zelle ist die Zelle, die aktuell ausgewählt ist und in der du Daten eingeben oder bearbeiten kannst.
2. Wie kann ich die aktive Zelle in Excel VBA abfragen?
Du kannst die aktive Zelle mit ActiveCell
ansprechen. Zum Beispiel ActiveCell.Column
gibt die Spaltennummer der aktiven Zelle zurück.
3. Wie verhindere ich Laufzeitfehler bei ungültigen Arbeitsblattnamen?
Verwende die On Error Resume Next
-Anweisung, um Fehler zu ignorieren und anschließend mit If Err.Number > 0
zu überprüfen, ob ein Fehler aufgetreten ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen