Microsoft Excel

Herbers Excel/VBA-Archiv

Rückgabe von Tabellenblattnamen

Betrifft: Rückgabe von Tabellenblattnamen von: mai4bys
Geschrieben am: 15.09.2014 07:42:53

Hallo Zusammen,

in den letzten Tagen hat mir dieses Forum sehr weiter geholfen!

Nun habe ich zwei eigene Fragen (ich hoffe das war noch nicht hier):

1. Ich habe ein Makro, dass u.A. auf ein Tabellenblatt mit einer Liste von Namen zugreift



Cells(1, iCounter + 1).Value = Sheets("MarkenListe").Range("A" & iCounter) 'Name über Liste

Da der Ausdruck "Sheets ("MarkenListe")..." sehr häufig vorkommt, hätte ich ihn gerne in eine Variable gespeichert. Ich habe es mit einem String versucht, aber das funktioniert nicht. Wichtig ist, dass ich den Namen, den der Ausdruck liefert brauche.

2. Das führt mich auch direkt zu meinem 2. Problem.
Cells(2, iCounter + 1).FormulaR1C1 = "=" & Sheets("MarkenListe").Range("A" & iCounter) & "!R2C3"  'C2 Gesamtscore

Ich habe ich in einer Zelle eine Verknüpfung in eine anderes Tabellenblatt. Das funktioniert auch alles prima, solange der Name kein Leerzeichen enthält. Bei einem Leerzeichen nutzt er immer nur den letzten Teil, was natürlich zu Fehlermeldungen führt.

Wie kann ich dieses Problem beheben? Ich möchte ungern die Leerzeichen raus nehmen

Vielen Dank für Eure Hilfe!! :-)

  

Betrifft: AW: Rückgabe von Tabellenblattnamen von: Hajo_Zi
Geschrieben am: 15.09.2014 07:46:22

benutze With Sheets("MarkenListe")
Tabelennamen mit Leerstelle müssen in ' eingefast werden.

GrußformelHomepage


  

Betrifft: AW: Rückgabe von Tabellenblattnamen von: mai4bay
Geschrieben am: 15.09.2014 16:10:50

Hallo Hajo,

danke für deine Antwort. Aber ehrlichgesagt, kann ich nichts damit anfangen. Ich habe gerade erst mit vba angefangen.

Wie muss ich with einsetzen? Google hat mich da leider nicht wirklich schlauer gemacht :-(

Vielleicht könntest du deinen Tipp nochmal genauer erläutern? Danke :-)


  

Betrifft: AW: Rückgabe von Tabellenblattnamen von: Hajo_Zi
Geschrieben am: 15.09.2014 17:12:33

With Sheets("MarkenListe")
Cells(1, iCounter + 1).Value = .Range("A" & iCounter)
End With

Beachte den Punkt.

Gruß Hajo


 

Beiträge aus den Excel-Beispielen zum Thema "Rückgabe von Tabellenblattnamen"