Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1756to1760
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

Formel durch VBA in Zelle eintragen

Formel durch VBA in Zelle eintragen
12.05.2020 11:20:17
Leon
Hallo zusammen,
habe folgenden VBA Code zusammengewürfelt um eine neue Spalte einzufügen,
die für jede ausgefüllte Zeile folgende Excel-Formel haben soll:
=WENNFEHLER(LINKS(A10;FINDEN("/";A10)+1);LINKS(A10;FINDEN(" ";A10)))
Kriege jedoch bei all meinen Versuchen einen Syntaxfehler in VBA für meine Formel.
Makro:

Sub Links_Zeile()
Dim AnzahlZeilen As Integer
Dim i As Integer
AnzahlZeilen = Range("A65536").End(xlUp).Row
ActiveSheet.Columns("B").Insert
For i = 2 To AnzahlZeilen
Cells(2, i).FormulaLocal = "=WENNFEHLER(LINKS(A & i;FINDEN("/";A & i)+1);
LINKS(A & i;FINDEN(" ";A & i)))"
Next
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel durch VBA in Zelle eintragen
12.05.2020 11:28:21
ChrisL
Hi
Cells(2, i).Formula = "=IFERROR(LEFT(A" & i & ",FIND(""/"",A" & i & ")+1),LEFT(A" & i & ",FIND("" "",A" & i & ")))"
cu
Chris
AW: Formel durch VBA in Zelle eintragen
12.05.2020 11:35:45
Leon
Vielen Dank!
VG
Leon
AW: Formel durch VBA in Zelle eintragen
12.05.2020 11:37:31
Werner
Hallo,
deine Formel ist ein Textstring. Innerhalb der Formel müssen die Gänsefüßchen gedoppelt werden.
Beim verwenden einer Variablen innerhalb der Formel mußt du vor dem Verwenden den Textstring mittels " beenden, die Variable mit & einfügen und danach den Textstring mit & " wieder beginnen.
Das würde in deinem Fall so aussehen:
Sub Links_Zeile()
Dim AnzahlZeilen As Long
Dim i As Long
AnzahlZeilen = Range("A65536").End(xlUp).Row
ActiveSheet.Columns("B").Insert
For i = 2 To AnzahlZeilen
Cells(2, i).FormulaLocal = "=WENNFEHLER(LINKS(A" & i & ";FINDEN("" / "";A" & i & ")+1);" _
& "LINKS(A" & i & ";FINDEN("" "";A" & i & ")))"
Next
End Sub
Anmerkungen:
hier
Cells(2, i)

verwendest du die Variable i als Spaltenwert. Innerhalb der Klammer steht der erste Zahlenwert für die Zeile, der zweite Zahlenwert (oder die Variable) für die Spalte. Ich denke, dass du Formel aber in der Spalte B einfügen willst, dann wären aber Zeile und Spalte innerhalb der Klammer von Cells vertauscht.
Zudem stellt sich mir die Frage, weshalb du die Formel per Schleife einträgst und nicht einfach in den kompletten Bereich der Spalte B, also ohne Schleife.
Wäre dann so:
Sub Links_Zeile()
Dim AnzahlZeilen As Long
AnzahlZeilen = Range("A65536").End(xlUp).Row
ActiveSheet.Columns("B").Insert
Range("B2:B" & AnzahlZeilen).FormulaLocal = _
"=WENNFEHLER(LINKS(A2;FINDEN(""/"";A2)+1);LINKS(A2;FINDEN("" "";A2)))"
End Sub
Gruß Werner
Anzeige
AW: Formel durch VBA in Zelle eintragen
12.05.2020 11:50:36
Leon
Hallo Werner,
wie man vlt sieht bin ich ein VBA-Frischling, von daher vielen Dank
für die ausführliche Erklärung. Hat mir sehr viel für Verständnis gebracht!
Genau, die Parameter für "Cells()" habe ich vertauscht. Dein letzter Code
war genau das was ich brauche.
Viele Grüße
Leon
Gerne u. Danke für die Rückmeldung. o.w.T.
12.05.2020 12:15:12
Werner

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige