Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Variable var in FormulaLocal verwenden

Variable var in FormulaLocal verwenden
04.06.2020 11:01:57
Daniel
Hallo Zusammen,
ich erzeuge über ein Makro eine zusätzliche Spalte in meiner Tabelle und möchte die Daten aus einer Spalte in eine andere übertragen und dabei einen Zusatz hinzufügen.
Per Formel wäre das

= "Zusatz-" & "B2"

Bei meinem Makro funktioniert das allerdings nicht wie gewünscht.
Ich habe nun alles mögliche probiert … mit Klammern, ohne, Klammern an verschiedenen Stellen;
aber irgend etwas übersehe ich.
Vielleicht findet euch jemand den Fehler und kann mir helfen
Bei dieser Variante erhalte ich als Ergebnis: Zusatz-B2:B38 ( habe 38 Zeilen in meinem Testordner )
Ich schaffe es aber nicht, dass in C2 dann Zusatz und die Daten von B2 stehen, in C3 das aus B3 _
usw.

Sub spalteneu()
Columns("C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").Select
ActiveCell.FormulaR1C1 = "Bestellnummer"
Dim var As Long
var = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To var
Sheets("Orders").Range("C2:C" & var).FormulaLocal = "Zusatz-" & "B2:B" & var
Next i
Application.CutCopyMode = False
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable var in FormulaLocal verwenden
04.06.2020 11:34:06
MCO
Hallo Daniel!
Versuch das mal...
Sub spalteneu()
Dim var As Long
Columns("C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1") = "Bestellnummer"
var = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To var
Sheets("Orders").Range("C" & var).FormulaLocal = "Zusatz-" & Range("B" & var)
Next i
End Sub
Gruß, MCO
Anzeige
AW: Variable var in FormulaLocal verwenden
04.06.2020 11:41:28
MRUTOR
Hallo,
ich glaube nicht, dass das so sein soll. Dein Ansatz ist zwar soweit richtig. Aber wofuer das i, wenn es nicht verwendet wird. Das soll sicher folgendermassen, denn var ist ja die letzte verwendete Zeile. Und ausserdem fehlt noch ein = vor der Formel:

Sub spalteneu()
Dim var As Long
Columns("C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1") = "Bestellnummer"
var = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To var
Sheets("Orders").Range("C" & i).FormulaLocal = "=Zusatz-" & Range("B" & i)
Next i
End Sub

Gruss Tor
Anzeige
AW: Variable var in FormulaLocal verwenden
04.06.2020 11:49:56
Daniel
Hallo Tor,
ja das war mein erster Ansatz mit i ; aber auch damit hatte ich es nicht hinbekommen, weswegen ich dachte, es wäre var
Bei Deiner Variante bekomme ich einen 1004 Anwendungsfehler
AW: Variable var in FormulaLocal verwenden
04.06.2020 12:02:23
MRUTOR
Hallo Daniel,
also bei mir funktioniert der Code wie folgt. Voraussetzung ist jedoch, dass in der Spalte B auch was steht, sonst bekommst du den von dir angesprochenen 1004 Anwendungsfehler. Habe ich aber auch noch abgefangen. Wenn in B leer ist, dann passiert in dieser Zeile nichts:

Sub spalteneu()
Dim var As Long, i As Long
Columns("C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1") = "Bestellnummer"
var = Sheets("Orders").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To var
If Sheets("Orders").Range("B" & i)  "" Then
Sheets("Orders").Range("C" & i).Formula = "Zusatz-" & Range("B" & i)
End If
Next i
End Sub

Gruss Tor
Anzeige
AW: Variable var in FormulaLocal verwenden
04.06.2020 12:05:02
Daniel
Ja, genau das habe ich bemerkt, dass bei leeren Zellen "nix" geht;
deswegen habe ich es einfach mal ohne FormulaLocal probiert
Vielen Dank für Deine Mithilfe !
Ich muss jetzt erstmal Pause machen, hab schon achteckige Augen :-)
AW: Variable var in FormulaLocal verwenden
04.06.2020 11:44:42
Daniel
Hi,
das geht leider auch nicht ;
Hier erscheint Zusatz- in den Zellen aber nichts weiter

Sheets("Orders").Range("C2:C" & var).FormulaLocal = "Zusatz-" & Range("B" & var)
Hiermit bleiben die Zellen leer

Sheets("Orders").Range("C" & var).FormulaLocal = "Zusatz-" & Range("B" & var)
Hiermit bekomme ich einen Laufzeitfehler 13 - Typen unverträglich

Sheets("Orders").Range("C2:C" & var).FormulaLocal = "Zusatz-" & Range("B2:B" & var)
Irgendetwas übersehe ich, aber ich hab keinen Plan mehr grade …
hänge jetzt seit 2 Stunden an dem Ding und bekomme es nicht hin.
Anzeige
AW: Variable var in FormulaLocal verwenden
04.06.2020 12:02:52
Daniel
GELÖST …
ich habs ; ganz anderer Ansatz … anstelle der Formula Local arbeite ich nur mit der Range

Range("C" & i) = "Zusatz-" & Range("B" & i)

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige