Registriert seit: 08.07.2016
	
Version(en): 2016
	
 
	
		
		
 15.03.2023, 00:35
 
		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.
	
 
	
	
	
	
 
	![[-]](https://www.clever-excel-forum.de/images/collapse.png) Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
	  • o0Julia0o
 
	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)