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

VBA IF(ISERROR) .Formula

Forumthread: VBA IF(ISERROR) .Formula

VBA IF(ISERROR) .Formula
19.02.2015 12:01:45
Robert
Hallo Zusammen,
ich habe auf folgende Weise meinen SVerweis in ein Tabellenblatt eingefügt

Sub vba_sverweis1()
[AA2:AA426] = WorksheetFunction.VLookup([A2:A426], Sheets("ZP1").[A2:y123], 2, False)
End Sub

anschließend wollte ich auf gleiche Weise die IF(ISERROR Funktion benutzen.

Sub vba_if()
[AB2:AB426] = WorksheetFunction.IF(IsError([AA2:AA426]), "", [L2:L426])
End Sub

Diese funktioniert leider nicht. Das Objekt unterstützt diese Methode nicht.
Anschließend habe ich es auf diesem Weg, nur für eine Zelle, versucht :
Public Sub test()
With Sheets("nicht ZP1").Range("AB3")
.Formula = _
"=IF(ISERROR(AA2);""""; L2)"
'.Value = .Value 'In Festwerte umwandeln
End With
End Sub

Wenn ich das "=" vor der IF- Formel weglasse trägt er mir den Inhalt in die Zellen ein. Wieso nicht die ganze Funktion?
Ich hoffe ihr könnt mir weiterhelfen und ich bedanke mich im Voraus.
MFG
Robert

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA IF(ISERROR) .Formula
19.02.2015 12:04:28
Michael
Hallo Robert!
Um Zellfunktionen über VBA direkt in Zellen zu schreiben, kannst Du FormulaLocal nutzen, etwa so:
Sub FunktionEintragen()
Tabelle1.Cells(1, 1).FormulaLocal = "=WENN(ISTFEHLER(AA2);""""; L2)"
End Sub
Lg
Michael

AW: VBA IF(ISERROR) .Formula
19.02.2015 12:22:14
Robert
Hallo Michael,
vielen Dank für die schnelle Rückmeldung.
Ich benutze Excel auf Englisch, daher dachte ich es spielt für mich keine Rolle ob Formula oder FormulaLocal?!
Sub FunktionEintragen()
Sheets("nicht ZP1").Cells(2, 28).FormulaLocal = "=IF(ISERROR(AA2);""""; L2)"
End Sub

Diese Variante funktioniert nun.
Kann mir jemand sagen aus welchem Grund die anderen Varianten nicht durchführbar waren?
Und wie bekomm ich diese Formel nun fortlaufend in die Zellen darunter?
MFG
Robert

Anzeige
AW: VBA IF(ISERROR) .Formula
19.02.2015 12:32:19
Michael
Hallo Robert!
Die Formel kannst Du "fortlaufend" über eine Schleife eintragen lassen, hab's anhand Deines Bsp. von AA2 bis AA426 geschrieben:
Sub FunktionEintragen()
Dim i As Integer
'In Deinem Beispiel von AA2:AA426
For i = 2 To 426
Tabelle1.Cells(i, 27).FormulaLocal = "=WENN(ISTFEHLER(AA2);""""; L2)"
Next i
End Sub
Klappt?
LG
Michael

Anzeige
AW: VBA IF(ISERROR) .Formula
19.02.2015 12:33:05
RPP63
Hallo Robert!
Trennzeichen in englischen Formeln ist das Komma, nicht das Semikolon!
    With ActiveCell
.Formula = _
"=IF(ISERROR(AA2),""Fehler"",L2)"
'.Value = .Value 'In Festwerte umwandeln
End With
Gruß Ralf

AW: VBA IF(ISERROR) .Formula
19.02.2015 13:15:12
Robert
Hallo Michael,
hallo Ralf,
ich danke euch beiden!
Beide Vorschläge funktionieren einwandfrei .
Vielen Dank für die Erläuterung, hatte ich absolut nicht auf dem Schirm :D
Schönen Tag noch euch beiden !
Gruß
Robert
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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