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

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

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

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

Anzeige
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

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige