| 
		
	
	
	
		
	Registriert seit: 02.10.2014
	
Version(en): 2013
 
	
	
		Hallo,nachdem ich den halben Vormittag Foren nach Hinweisen durchsucht habe, meine Anweisung aber immernoch nicht funktioniert, möchte ich doch um Hilfe bitten. Wo ist mein Fehler?
 
 Range("INDIRECT((""H" & I1 & """))").Select
 
 Mir wird angezeigt, Fehler beim Kompilieren: Variable nicht definiert. Dabei wird I1 markiert. Aber das ist doch gar keine Variable, sondern eine Zelle...
 
 Vielen Dank schonmal und einen schönen Feiertag
 Blesbie
 
	
	
	
		
	Registriert seit: 17.04.2014
	
Version(en): MS Office 365(32)
 
	
	
		Hallo Blesbie, in VBA braucht man nicht die Excelfunktion INDIREKT(), da man Bezüge entsprechend direkt erstellen kann. Bei Deiner Zeile dann so: Code: Range("H" & Range("I1").Value).Select
Gruß Uwe
	 
	![[-]](https://www.clever-excel-forum.de/images/collapse.png) Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
	  • Blesbie 
	
	
	
		
	Registriert seit: 02.10.2014
	
Version(en): 2013
 
	
	
		Danke    Vielleicht noch eine Frage hinterher. Die Variante für eine Zelle klappt prima, aber bei mehreren haperts. Range("H3:""H" & Range("""I1""").Value"").Select Was ist diesmal zu ändern? LG Blesbie
	 
	
	
	
		
	Registriert seit: 17.04.2014
	
Version(en): MS Office 365(32)
 
	
	
		Hallo Blesbie,
 na dann halt einfach
 
 Range("H3:H" & Range("I1").Value).Select ;)
 
 Gruß Uwe
 
	
	
	
		
	Registriert seit: 02.10.2014
	
Version(en): 2013
 
	
	
		  Warum ist das denn so einfach und fliegt einem dennoch nicht zu?? Danke nochmal    
	
	
	
		
	Registriert seit: 02.10.2014
	
Version(en): 2013
 
	
	
		Falls du noch Lust hast, mir steigen schon wieder Rauchwölkchen aus den Ohren. Ich hätte drei Ideen, wie ich es umsetzen kann, dass beide Werte indirekt benannt werden, aber natürlich funktioniert keine^^
 
 Range("H & Range("I1").Value :H" & Range("I2").Value).Select
 
 Range("H:H" & Range("I1").Value & Range("I2").Value).Select
 
 Range(Range("I1").Value & "H:H" & Range("I2").Value).Select
 
 Allen, die dafür ein logisches Gespür haben, Respekt zollende Grüße
 Blesbie
 
	
	
	
		
	Registriert seit: 28.05.2014
	
Version(en): 2013 / 2016
 
	
	
		Moin, na, dann versuche es mal so: Code: Range("H" & Range("I1").Value & ":H" & Range("I2").Value).Select
... wobei das Select hier so überflüssig ist wie ein Kropf :s (wie auch sonst fast immer). aber versuche es doch einmal mit der VBA-Anweisung WorksheetFunction, wenn du mal nicht weiter kommst. Bei sehr vielen Excel-Funktionen kommst du da weiter, aber bei Indirect (oder auch mit k geschrieben) wirst du nicht fündig. ;)
	
Beste GrüßeGünther 
 Excel-ist-sexy.de
   …schau doch mal rein!Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne! 
	![[-]](https://www.clever-excel-forum.de/images/collapse.png) Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28
	  • Blesbie 
	
	
	
		
	Registriert seit: 17.04.2014
	
Version(en): MS Office 365(32)
 
	
	
		Hallo Blesbie, das erinnert mich an meinen Einstieg in die Makroprogrammierung (VBA). Ich bin schier verzweifelt mit den Bereichszuweisungen etc., aber damals gab es (noch) kein Internet. [Bild: sm12.gif] Hier mal ein Makro mit verschiedenen Varianten: Code: Sub BereichsZuweisungPerZelleninhalte()Range("I1").Value = 5 'für Zeile 5
 Range("I2").Value = 8 'für Zeile 8
 'Spalte H entspricht Spaltennummer 8
 Cells(1, 8).Select
 
 'für eine Zelle in A1-Schreibweise, Spalte hart codiert
 Range("H" & Range("I1").Value).Select
 Stop
 Range("H1").Select
 Stop
 'für eine Zelle in Z1S1-Schreibweise, also (Zeile, Spalte), Spalte hart codiert
 Cells(Range("I2").Value, 8).Select
 Stop
 Cells(1, 8).Select
 'für einen Bereich in A1-Schreibweise, Spalte hart codiert
 Range("H" & Range("I1").Value & ":H" & Range("I2").Value).Select
 Stop
 Range("H1").Select
 Stop
 'für einen Bereich in Z1S1-Schreibweise, also (Zeile, Spalte), Spalte hart codiert
 Range(Cells(Range("I1").Value, 8), Cells(Range("I2").Value, 8)).Select
 Stop
 Cells(1, 8).Select
 End Sub
Und lass Dich nicht beirren von Beiträgen wie hier von Günther. Zum Testen ist Select eine gute Methode, um erst einmal ein Gefühl dafür zu bekommen. Im späteren Einsatz ist es aber tatsächlich (meistens) nicht nötig. Performance (2) - Select Activate Bremsen und ein Beispiel Gruß Uwe
	 
	
	
	
		
	Registriert seit: 02.10.2014
	
Version(en): 2013
 
	
	
		Boah, danke für die Mühe!
 Und das mit dem Select... Ich finde ehrlich gesagt bisher, dass es den ganzen Code sehr schön übersichtlich macht. Vielleicht ändert sich das noch, aber:
 Zelle 1 auswählen
 ihr eine Formel zuweisen
 Zelle 2 auswählen
 ihr eine Formel zuweisen.
 
 Liest sich schön einfach, ist nur natürlich recht lang, aber das ist mir bisher vollkommen egal.
 
 Nun ganz fleißig eure Hilfen anwendende Grüße :05: und euch einen schönen Abend
 Blesbie
 
	
	
	
		
	Registriert seit: 28.05.2014
	
Version(en): 2013 / 2016
 
	
		
		
		03.10.2014, 23:18 
(Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2014, 23:28 von GMG-CC.)
		
	 
		... in Sachen "Select" @ Uwe: Du hast ja auch schon angedeutet, dass das eine unnötige Bremse ist. Und ich vertrete ganz klar die Meinung, dass solch eine Aussage wie "Zum Testen ist Select eine gute Methode, um erst einmal ein Gefühl dafür zu bekommen." einfach unprofessionell ist. Einem Einsteiger gegenüber, der VBA "vernünftig" lernen sollte, empfinde ich so etwas seitens eines gestandenen VBA-Anwenders als nicht verantwortungsbewusst. @ Blesbie: OK, es sieht erst einmal übersichtlicher aus. Dennoch weiß ich aus eigener Erfahrung, dass es ungemein schwer ist, sich "Unarten" abzugewöhnen, wenn sie einmal Gewohnheit geworden sind. Ich räume auch ein, dass der Makrorecorder diesen Blödsinn auch zum Code macht, aber das ist nicht das Maß der Dinge. Wenn dich ein aus meiner Sicht überzeugender Vergleich Geschwindigkeit) interessiert: Schau mal bei Excel-ist-sexy  nach, dann weißt du gewiss, was ich meine. Und der angepasste Code ist IMHO genau so gut lesbar ... So, für mich war's das in diesem Thread.
	
Beste GrüßeGünther 
 Excel-ist-sexy.de
   …schau doch mal rein!Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne! |