Clever-Excel-Forum

Normale Version: Sheets.Select + Range.Select funktioniert nicht nacheinander
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Warum funktioniert folgendes Makro:
    Sheets("1").Select

Und folgendes nicht?:
    Sheets("1").Select
    Range("G6").Select
Und wofür brauchst du das select? Das kann zu 95 % vermieden werden.
(14.03.2023, 23:35)o0Julia0o schrieb: [ -> ]Warum funktioniert folgendes Makro:
...
Und folgendes nicht?:...
"Funktioniert nicht" ist keine Beschreibung. Bitte präzisiere die Aussage. 

Vorsorglich nachgefragt: Der Unterschied zwischen Sheets("1") und Sheets(1) ist dir klar?
Der Unterschied zwischen Sheets() und WorkSheets() ebenso?

Ist Sheets("1") vielleicht gar kein Worksheet? Sprich Arbeitsblätter mit Worksheets() an.
Der Unterschied zwischen Sheets("1") und Sheets(1) ist dass, bei "" der Name des Sheets gemeint ist und bei 1 der 1. Sheet, egal wie er heisst.

Select deswegen, weil das Feld angewählt sein soll. Also der optisch quasi soll sich in dem Feld befunden werden, wenn der Nutzer Sheet 1 aufruft.
Moin!
"Eigentlich" müsste die sequenzielle Selektiererei funktionieren.
Ich nutze bei so etwas jedoch eine andere Methode, die "auf einen Rutsch" funktioniert:

Application.Goto Worksheets("1").Range("G6")

Gruß Ralf
Moin,

wenn es darum geht, eine bestimmte Zelle auszuwählen, wenn ein Sheet aktiviert wird, bietet sich das Workbook_SheetActivated() Event in ThisWorkbook an. Mit einem einfachen Sh.Range("A1").Select die Zelle des aktivierten Sheet auswählen.

Viele Grüße
derHöpp
Die Frage, "warum es nicht funktioniert", bleibt trotz der richtigen und guten Hinweise allerdings ungeklärt.
Moin Earlfred

vermutlich liegt es daran, dass der Code im Codebehind einer Tabelle steht. Mit dem Selektieren eines Anderen Sheets liefert Me.Range.Select eben ein anderes Ergebnis, als erwartet.

Viele Grüße
derHöpp
@derHöpp
Stimmt, das wäre eine weitere mögliche Erklärung.
Hallöchen,

wenn der ursprüngliche Code im Tabellenmodul steht, liefert er sogar einen Fehler 1004 Smile

"Funktioniert nicht" kann z.B. auch bedeuten, dass nix oder nicht alles programmierte passiert ...

Das könnte hier z.B. der Fall sein, wenn bei Ausführung der Codezeilen On Error ... aktiv ist.
Entsprechend ist eine korrekte Beschreibung unerlässlich.


Wenn Du Aktionen auf anderen Blättern ausführen willst, solltest Du die Codes in ein "normales" Modul schreiben und/oder auf die select verzichten - wurde ja hier schon geschrieben.

Geht z.B. mit

With Sheets("1").Range("G6")
.value = "Geht doch"
.interior.color=123456
End With
Seiten: 1 2