Anzeige
Archiv - Navigation
1548to1552
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
Inhaltsverzeichnis

Nochmal: FormulaLocal variabel

Nochmal: FormulaLocal variabel
01.04.2017 14:42:11
Kliewe
Hallo zusammen,
ich habe diese Frage schonmal am 2.3 gestellt und diesbezüglich eine Antwort von Firmus und Michael erhalten. Heute bin ich dazu gekommen, die Vorschläge zu testen. Allerdings habe ich noch Probleme, kann jedoch im alten Beitrag nicht mehr antworten. Deshalb muss ich es wohl nochmal Posten...
Kurz nochmal folgendes Problem: Ich lese die letzte Spalte in einem Tabellenblatt aus und speichere diese in der Variablen "letztespalte". Diese letzte Spalte muss jetzt in eine Formel integriert und dann in Excel mit FormulaLocal geschrieben werden. Dazu gab es den Vorschlag:
Sub formel()
Dim formeltext As String
Dim bis As String
bis = "B11"
formeltext = "=SUMME(B2:" & bis & ")"
Range("D2").FormulaLocal = formeltext
End Sub
Dieser Vorschlag ist aber (meine ich) nicht ganz für mein Problem gedacht. Die Angabe "B11" habe ja gar nicht, sondern lediglich die letzte Spalte, gespeichert in "letztespalte". Würde ich den Vorschlag auf mich anpassen:
Sub formel()
Dim formeltext As String
Dim bis As String
bis = "letztespalte"
formeltext = "=SUMME(B2:" & bis & ")"
Range("D2").FormulaLocal = formeltext
End Sub
Stände in der Zelle Summe(B2:letztespalte)". An Stelle von "letztespalte" soll hier aber die tatsächliche letzte Spalte stehen, zum Beispiel B4,Z4 etc...
Kann mir jemand bei diesem Problem helfen?

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

Betreff
Datum
Anwender
Anzeige
AW: Nochmal: FormulaLocal variabel
01.04.2017 16:54:19
Crazy
Hallo
wo bekommst du denn "letztespalte" her?
was steht in "letztespalte"?
MfG Tom
AW: Nochmal: FormulaLocal variabel
02.04.2017 11:21:08
Kliewe
Hallo Tom,
"letztespalte" ermittle ich über:
// Dim letztespalte As Double
// letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
Das heißt in "letztespalte" steht die Nummer der letzten Spalte
AW: Nochmal: FormulaLocal variabel
01.04.2017 17:02:08
Oberschlumpf
Hi
die letzte, benutzte Spalte in einer - bestimmten! - zeile wird so ermittelt:

Cells(2, Columns.Count).End(xlToLeft).Column

die 2 gibt an, dass die letzte Spalte in Zeile 2 gesucht werden soll.
An deinen Code angepasst könnte es also so aussehen:
...anstelle von...

bis = "letztespalte"

...schreibst du...

bis = Cells(2, Columns.Count).End(xlToLeft).Column

Hilfts?
Ciao
Thorsten
Anzeige
AW: Nochmal: FormulaLocal variabel
02.04.2017 11:25:45
Kliewe
Hey Thorsten,
vielen Dank für deine Antwort! Also die letzte Spalte zu ermitteln ist nicht das Problem, das mache ich über:
// Dim letztespalte As Double
// letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
Was ich jetzt aber nicht hinbekomme, ist diese ausgelesene Spaltennummer so in FormulaLocal einzubauen, dass in Excel dann auch wirklich die Nummer und nicht "letztespalte" steht.
Verstehst du, was ich meine?
AW: Nochmal: FormulaLocal variabel
02.04.2017 13:36:50
Crazy
Hallo
ich halte ja nichts davon die Formel auf diese Weise einzutragen
aber das könnte dann so aussehen
Sub formel()
Dim formeltext As String
Dim letztespalte As Long
letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
formeltext = "=SUMME(B2:B" & letztespalte & ")"
Range("D2").FormulaLocal = formeltext
End Sub
MfG Tom
Anzeige
AW: Nochmal: FormulaLocal variabel
02.04.2017 13:39:11
Crazy
Hallo nochmal
bist du sicher dass du Office XP benutzt?
dann wirst du hiermit
letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
ein Problem bekommen da Excel XP nur 256 Spalten hat
MfG Tom
AW: Nochmal: FormulaLocal variabel
04.04.2017 09:19:47
Kliewe
Hallo Crazy Tom,
gerade nochmal nachgeschaut, der alte Firmenlaptop besitzt doch tatsächlich schon Windows 7^^
Hätte wirklich gedacht es sei noch XP..naja also es ist Windows 7 :-)
Zu der Formel: Warum findest du es generell so nicht gut? Wie würdest du es machen?
Außerdem passt die Formel so noch nicht ganz. So wie es jetzt ist, ist es die Summe von B2 bis B"letztespalte" es soll ja die Summe von B2 bis "letztespalte"2 werden. Also:
Sub formel()
Dim formeltext As String
Dim letztespalte As Long
letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
formeltext = "=SUMME(B2:" & letztespalte & "2)"
Range("D2").FormulaLocal = formeltext
End Sub
Wirft mir jedoch einen Anwendungs oder Objektdefinierten Fehler raus. Wahrscheinlich weil die Spalte einmal als "B" und einmal als "Nummer" angegeben ist, oder?
Anzeige
AW: Nochmal: FormulaLocal variabel
04.04.2017 17:58:24
Crazy
Hallo
vielleicht so mit einer Funktion zum ermitteln des Spaltenbuchstabens
Sub formel()
Dim formeltext As String
Dim letztespalte As Long
letztespalte = Sheets("Calculations").Cells(115, 580).End(xlToLeft).Column
formeltext = "=SUMME(B2:" & Buchstaben(letztespalte) & "2)"
Range("D2").FormulaLocal = formeltext
End Sub
Public Function Buchstaben(letztespalte As Long) As String
Buchstaben = Split(Cells(115, letztespalte).Address, "$")(1)
End Function
MfG Tom

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige