Hallo zusammen - ich habe wieder ein kleines Problem, wo ich zur Lösungsfindung Hilfe benötige.
Konkret: im Tabellenblatt "Auswertung" betätige ich den CommandButton.1 . Anschließend werden einige einfache Aktionen per Makro in diesem Tabellenblatt ausgeführt (z.B.: Cells(5, 14) = Cells(5, 17 oder Cells(15, 23) = "J A" , usw.). Nachdem alle "Kleinbefehle" abgearbeitet sind, möchte ich dass Excel automatisch auf ein anderes Tabellenblatt wechselt. Das funktioniert auch, aber nur wenn ich eine konkrete Zelladresse als Ziel angebe.
Mit: | Application.Goto Sheets("Tabelle4").Range("AM56") | lande ich in Zelle AM56. Wie angegeben.
Ich möchte aber dass der Cursor in die Zelle springt, welche vor Befehlsauslösung auf dem Blatt „Tabelle4“ eine Zelle unterhalb der bereits aktiven Zelle ist. Steht der Cursor z.B. in Zelle C54, soll der Cursor automatisch innerhalb der Routine die Zelle C55 auswählen (sofern dort ein Text oder eine Zahl [kann auch eine 0 sein!] steht). Also nicht in eine leere Zelle!
Mit ActiveCell.Offset(1, 0).Select oder 'ActiveCell.Address und ähnlichen Spielereien klappt das einfach nicht.
Schön wäre auch noch eine Absicherung, sofern unter der Aktivzelle die nächste Zelle ohne Inhalt ist. Nicht dass durch eine Fehlermeldung sich VBA selbst oder schlimmstenfalls das ganze Excelprogramm aufhängt.
Daher jetzt mein Hilferuf
Ciao der Revanchist