Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Application.If funktioniert nicht

Forumthread: 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

Anzeige

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
Anzeige
;

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

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