Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

tabellenblatt namen in vba

tabellenblatt namen in vba
15.01.2008 15:14:00
Jonatan
Hallo,
ich würde gerne für eine Summenberechnung auf ein anderes Tabellenblatt verweisen.
Allerdings will ich nicht direkt den Namen eingeben, sonst funktioniert das Makro nicht mehr, wenn der Name geändert wird.
wie muss ich das korrekt eingeben?
Vielen DANK
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
Cells(Loletzte + 5, 18).Select 'Summe immer neu berechnen
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ ?ActiveSheet.Name?,0)"
gruß Jonatan

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: tabellenblatt namen in vba
15.01.2008 15:17:00
Hajo_Zi
Hallo Jonatan,
benutze den internen Namen der Tabelle, siehst im VBA Editor

AW: tabellenblatt namen in vba
15.01.2008 15:27:31
Jonatan
Hallo Hajo,
danke erstmal!!
Aber ich kapier nicht ganz wo ich den Namen rauslese.
Ich meine, bei mir im Editor steht einfach nur Tabelle1(Stand 6.November)...
So funktioniert es jedenfalls nicht.
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Tabelle1(Stand 6.November)R99,0)"
Gruß Jonatan

AW: tabellenblatt namen in vba
15.01.2008 15:32:16
Hajo_Zi
Hallo Jonatan,

Worksheets("otto").Range("A1") = 123    ' laut Tegister
Tabelle1.Range("A1") = 123              ' interm


Userbild
Gruß Hajo

Anzeige
AW: tabellenblatt namen in vba
15.01.2008 15:37:00
Alex
Hallo Jonatan,
versuch es mal so:
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Worksheet("Tabelle1").Range("R99"),0"
gruß
Alex

AW: tabellenblatt namen in vba-korrektur
15.01.2008 15:43:00
Alex
Sorry, hab nicht aufgepasst
so vielleicht!?
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Tabelle1!R99,0)"
vorrausgesetzt dass deine Tabelle auch "Tabelle1" heißt.
gruß
Alex

AW: tabellenblatt namen in vba-korrektur
15.01.2008 15:46:00
Jonatan
Hallo Alex,
dankeschön.
aber das löst meine Frage nicht ganz.
Ich würde gerne so auf das Tabellenblatt verweisen, dass auch das Makro noch geht, wenn ich den Tabellennamen änder.
So funktioniert es nur, wenn die Tabelle den Namen beibehält.
Gruß Jonatan

Anzeige
AW: tabellenblatt namen in vba
15.01.2008 15:44:06
Jonatan
Hallo Hajo,
irgendwie steh ich grad auf dem Schlauch.
Mal ganz praktisch:
wenn ich in der untenstehenden Zeile auf die Zelle A10 der Tabelle "Stand 6. November" verweisen will, wie trag ich das ein?
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Worksheets("Stand 6. November").Range("A10"),0)"
Vielen Dank für deine Mühen, sogar mit Sreenshot;-)
gruß Jonatan

AW: tabellenblatt namen in vba
15.01.2008 15:46:00
Jonatan
Hallo Hajo,
irgendwie steh ich grad auf dem Schlauch.
Mal ganz praktisch:
wenn ich in der untenstehenden Zeile auf die Zelle A10 der Tabelle "Stand 6. November" verweisen will, wie trag ich das ein?
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Worksheets("Stand 6. November").Range("A10"),0)"
Vielen Dank für deine Mühen, sogar mit Sreenshot;-)
gruß Jonatan

Anzeige
AW: tabellenblatt namen in vba
15.01.2008 15:47:59
Hajo_Zi
Hallo Jontan,
Du wolltest nicht den Namen auf dem Register benutzen. Darum der Vorschalg ,mt dem internen Namen.
laut Beispil auf Register "Otto" intern Tabelle1
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ Tabelle1.Range("A10"),0)"
Gruß Hajo

AW: tabellenblatt namen in vba
15.01.2008 15:55:00
Jonatan
Hallo Hajo,
sorry, dass ich nochmal nachfragen muss.
Jetzt zeigt mir der Editor ein Syntax Fehler an, und ich weiß mal wieder nicht wo er das Problem hat.
Heißt das eigentlich, wenn ich das Tabellenblatt umbenenne, die Zelle trotzdemnoch gefunden wird?
Ist der interne Name sozusagen immer gültig?
Gruß Jonatan

Anzeige
AW: tabellenblatt namen in vba
15.01.2008 16:05:00
Hajo_Zi
Hallo Jonatan,
ja, ich baue die Datei nicht nach da ein Nachbau meist immer anders aus als das Original.
Gruß Hajo

AW: tabellenblatt namen in vba
15.01.2008 16:10:00
Jonatan
Hallo Hajo,
ok. Dann muss ich mal schauen, dass ich das noch hinkriege;-)
Vielen Dank dir auf jeden Fall
Gruß Jonatan

AW: tabellenblatt namen in vba
15.01.2008 16:15:28
selli
hallo jonatan,
wenn es sich immer um das 1.Tabellenblatt handelt, dann sollte es so gehen:
sheets(1).Range......
gruß selli

AW: tabellenblatt namen in vba
15.01.2008 16:29:55
Renee
Hi Jonatan,
Deine Formel
ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+ ?ActiveSheet.Name?,0)"
ist irgendwie 'Quatsch'. Sorry, aber wenn du in die aktive Zelle eine Formel eintragen willst, die sich ebenfalls auf das aktive Blatt bezieht, dann brauchst du doch keine Referenz zum Blattnamen.
Solltes du aber auf ein anderes Blatt referenzieren wollen, von dem du nicht den Blattnamen, sondern den VBA-Codenamen verwenden willst, dann in etwa so:
Annahme: Tabelle2(Blatt mit irgendeinem Namen)

ActiveCell.FormulaR1C1 = "=ROUND(SUM(R8C:R[-2]C)+'" & _
Tabelle2.Name & "'!R9C9,0)"


GreetZ Renée

Anzeige
AW: Blattname in VBA
15.01.2008 16:37:00
Erich
Hallo Jonatan,
meinst du vielleicht so etwas?

Sub tst()
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count) _
'Summe immer neu berechnen
Cells(Loletzte + 5, 18).FormulaR1C1 = "=ROUND(SUM(" & Tabelle1.Name & "!R8C:R[-2]C),0)"
End Sub

Wenn nach Eintrag dieser Formel der Blattname von Tabelle1 geändert wird,
passt sich der in die Formel geschriebene Name an.
Wenn dann das Makro noch einmal läuft, trägt es den neuen (geänderten) Blattnamen der Tabelle1 in die Formel ein.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige