Registriert seit: 08.07.2016
Version(en): 2016
15.03.2023, 00:35
Warum funktioniert folgendes Makro:
Sheets("1").Select
Und folgendes nicht?:
Sheets("1").Select
Range("G6").Select
Registriert seit: 12.06.2020
Version(en): 2024, 365business
Und wofür brauchst du das select? Das kann zu 95 % vermieden werden.
26865
Nicht registrierter Gast
(15.03.2023, 00: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.
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 26.09.2022
Version(en): 2019
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
26865
Nicht registrierter Gast
Die Frage, "warum es nicht funktioniert", bleibt trotz der richtigen und guten Hinweise allerdings ungeklärt.
Registriert seit: 26.09.2022
Version(en): 2019
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
26865
Nicht registrierter Gast
@derHöpp
Stimmt, das wäre eine weitere mögliche Erklärung.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
wenn der ursprüngliche Code im Tabellenmodul steht, liefert er sogar einen Fehler 1004

"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
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)