Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Formel in VBA
06.10.2008 11:46:00
steffen
Hallo,
ich komme mal wieder nicht mit meiner Formel in VBA zurecht.
Activesheet.Range("A4").Formula = "=INDIRECT(""Tabelle1!B"" &" & x + 1 & ")"; Formel gehört zu einem anderen Tabellenblatt
Das Problem besteht im Namen "Tabelle1". Da dieser Blattname steht's anders lautet, benötige ich eine Möglichkeit, das die Formel unabhägig vom Blattnamen funzt.
Ich dachte mir, den Blattnamen von Tabelle1 auszulesen und diesen dann in die Formel zu integrieren.
Start=Tabelle1.Name
Aber wie passe ich nun Start in die Formel rein?
Viele Grüße

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA
06.10.2008 11:53:00
Mac4
Hallo Steffen,
versuchs mal so:
"=INDIRECT('" & Start & "'!B" & x + 1 & ")"
Marc
noch nicht ganz...
06.10.2008 12:16:33
steffen
Hallo Marc,
so richtig funzt es noch nicht. Bekomme stehts #Bezug - Fehler angezeigt.
bei
Activesheet.Range("A4").Formula = "=INDIRECT(""Tabelle1!B"" &" & x + 1 & ")"
steht in A4 die Formel: =INDIREKT("Tabelle1!B" &309)
und der Text aus Tabelle1 B309 wird angezeigt
bei
Activesheet.Range("A4").Formula ="=INDIRECT('" & Start & "'!B" & x + 1 & ")"
steht in A4 die Formel: =INDIREKT(Startseite!B309)
es wird #Bezug - Fehler angezeigt
irgendwo hakt es noch.
Viele Grüße
Anzeige
AW: noch nicht ganz...
06.10.2008 12:27:00
Mac4
Hallo Steffen,
dann weise der Variabelen Start ihren Wert so zu:
Start=Sheets("Tabelle1").Name
Marc
AW: noch nicht ganz...
06.10.2008 12:32:27
Daniel
Hi
sorry, aber das ist Nonsense, Denk mal genauer drüber nach.
Gruß, Daniel
AW: Formel in VBA
06.10.2008 12:29:00
Daniel
Hi
so müsste es gehen:
"=INDIRECT(""" & Start & "!B"" &" & x + 1 & ")"
Gruß, Daniel
AW: Formel in VBA
06.10.2008 13:05:00
Tino
Hallo,
ohne jetzt den Grund für diesen Code zu hinterfragen, hier mal ein Beispiel.
Sub test()
Dim X As Long
Dim NameTabelle As String
  X = 1
NameTabelle = """" & Sheets(2).Name & "!B""&" & "" & X + 1
ActiveSheet.Range("A4").Formula = "=INDIRECT(" & NameTabelle & ")"
End Sub


Setze Deinen Wert für die Formel in eine Stringvariable, mit F8 gehst du den Code Zeilenweise durch. Beim überfahren der Variable mit der Maus, wird Dier der aktuelle Wert der Variable angezeigt, so kannst du besser erkennen wo noch Fehler enthalten sind.
Oder gibt dir den Wert mit Debug.Print NameTabelle im Direktfenster aus, da kannst du auch alles nachvollziehen.
Gruß Tino

Anzeige
Boah...
06.10.2008 13:35:57
steffen
bin mal wider schwer beeindruckt über die schnelle Hilfe und das geballte Wissen hier...
Konnte meine Formel nun so anpassen, dass es passt.
Dank an Euch.
Gruß Steffen
AW: Boah...
06.10.2008 14:22:11
Erich
Hallo Steffen,
da du die Formel mit VBA einträgst, brauchst du vielleicht gar kein "Indirect",
die viel einfachere Formel in Zeile 7 könnte schon ausreichen. Aber vielleicht ist auch die Formel in Zeile 5 geschickter.
Jedenfalls sollte der (ja variable) Blattname in einfache Hochkommata eingeschlossen werden,
damit Leerzeichen im Blattnamen keine Probleme machen.
 A
1xyz
2xyz
3xyz
4 
5xyz
6 
7xyz

Formeln der Tabelle
ZelleFormel
A1=INDIREKT("'Bla bla'!B"&2)
A2=INDIREKT("'Bla bla'!B"&2)
A3=INDIREKT("'Bla bla'!B"&2)
A5=INDIREKT("'Bla bla'!B2")
A7='Bla bla'!B2

Die Formeln wurden damit geschrieben:

Option Explicit
Sub tst2()
Dim x As Long
Dim NameTabelle As String
x = 1
With ActiveSheet.Columns(1)
.Cells(1).Formula = "=INDIRECT(""'Bla bla'!B""&" & x + 1 & ")"
.Cells(2).Formula = "=INDIRECT(""'" & Sheets(2).Name & "'!B""&" & x + 1 & ")"
NameTabelle = """'" & Sheets(2).Name & "'!B""&" & x + 1
.Cells(3).Formula = "=INDIRECT(" & NameTabelle & ")"
.Cells(5).Formula = "=INDIRECT(""'" & Sheets(2).Name & "'!B" & x + 1 & """)"
.Cells(7).Formula = "='" & Sheets(2).Name & "'!B" & x + 1
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige