Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sheets.Select + Range.Select funktioniert nicht nacheinander
#1
Question 
Warum funktioniert folgendes Makro:
    Sheets("1").Select

Und folgendes nicht?:
    Sheets("1").Select
    Range("G6").Select
Antworten Top
#2
Und wofür brauchst du das select? Das kann zu 95 % vermieden werden.
Antworten Top
#3
(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.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
[-] Folgende(r) 1 Nutzer sagt Danke an EarlFred für diesen Beitrag:
  • o0Julia0o
Antworten Top
#4
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.
Antworten Top
#5
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)
Antworten Top
#6
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
Antworten Top
#7
Die Frage, "warum es nicht funktioniert", bleibt trotz der richtigen und guten Hinweise allerdings ungeklärt.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top
#8
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
Antworten Top
#9
@derHöpp
Stimmt, das wäre eine weitere mögliche Erklärung.
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top
#10
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste