Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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

VBA - Application.If funktioniert nicht

VBA - Application.If funktioniert nicht
26.04.2016 23:14:16
Judith
Hallo zusammen,
Ich bekomme ein scheinbar einfaches Problem nicht gelöst. Ich habe ein Workbook mit mehreren “Output”- Arbeitsblättern, die zu befüllen sind. Um die Größe des Excel-Files so klein wie möglich zu halten, verwende ich zum befüllen der Seiten Application.Sumif anstatt Formeln einzufügen. Dies klappt auch ohne Probleme (siehe Excel file), aber für eine Spalte brauche ich Application.If und daran habe ich mir nun schon seit mehreren Tagen die Zähne ausgebissen.
https://www.herber.de/bbs/user/105280.xlsm
Mein Ziel ist in Spalte I die Formel IF(F7=0,0,IF(F7<0,H7/-F7,F7) einzufügen, aber in Form von Application.If. Ich habe schon folgendes versucht:
.Cells(i, "I").Value = Application.If(.Cells(i, "F") = 0, 0, Application.If(.Cells(i, "F") < 0, .Cells(i, "H") / -.Cells(i, "F"), .Cells(i, "F")))
Aber das resultiert in der Fehlermeldung Run-time error 438. Habt ihr eine Idee wie ich Application.If einfügen kann?
Viele Grüße
Judith

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Application.If funktioniert nicht
26.04.2016 23:35:02
Matthias
Hallo
Probiers mal so:
.Cells(i, "I").FormulaLocal = "=WENN(F7=0;0;WENN(F7 MUELLER

 IJ
5FormelWert
6DEV %DEV %
7(5)%(5)%
813%13%
911%11%
1013%13%
111%1%
12(2)%(2)%
13(1)%(1)%

Formeln der Tabelle
ZelleFormel
I7=WENN(F7=0;0;WENN(F7<0;H7/-F7;H7/F7))
I8=WENN(F8=0;0;WENN(F8<0;H8/-F8;H8/F8))
I9=WENN(F9=0;0;WENN(F9<0;H9/-F9;H9/F9))
I10=WENN(F10=0;0;WENN(F10<0;H10/-F10;H10/F10))
I11=WENN(F11=0;0;WENN(F11<0;H11/-F11;H11/F11))
I12=WENN(F12=0;0;WENN(F12<0;H12/-F12;H12/F12))
I13=WENN(F13=0;0;WENN(F13<0;H13/-F13;H13/F13))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
In J steht dann keine Formel, sondern nur der Wert.
Gruß Matthias

Anzeige
Tja, das kommt davon, wenn man 'Application' ...
27.04.2016 02:32:51
Luc:-?
…statt WorksheetFunction benutzt, ohne sich dabei wirklich auszukennen, Judith;
Ersteres wird nämlich nicht vom VBE-Intellisense unterstützt, der dir zeigen würde, dass es das nicht gibt, weil es in VBA nicht benötigt wird. Der WorksheetFunction-Container enthält nämlich nicht alle WorksheetFunctions! Die restlichen kann man dann nämlich nur so wie Matti es zeigt oder per vbFkt Evaluate (für US-Original-Fml-Notation als Text) behandeln.
VBA enthält die If…Then…ElseIf…Then…Else…End If-Konstruktion und außerdem eine eigene Fkt, das (duale) IIf(…, …, …), die du aber nur verwenden kannst, wenn sicher­gestellt ist, dass keine der beiden Lösungs­möglich­keiten einen Fehler verursacht!
Darüber hinaus gibt's noch die vbFkt Switch, das FktsPendant zur vbKonstruktion Select Case…Case…Case Else…End Select. Hier gilt aber das Gleiche wie bei IIf !
Damit solltest du dein Problem ebenfalls lösen können.
Morrn, Luc :-?
Besser informiert mit …

Anzeige
AW: Tja, das kommt davon, wenn man 'Application' ...
27.04.2016 13:35:28
Judith
Hallo Matthias und Luc,
@ Matthias: vielen herzlichen Dank für deine Hilfe, es funktioniert perfekt!
@ Luc: Alles, was ich in VBA mache, tue ich ohne mich auszukennen, sondern basiert auf einer trial and error basis :-) Vielen Dank für die Erläuterungen, das hilft definitiv es besser zu verstehen.
Viele Grüße
Judith

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige