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

Doppelte Wenn-Abfrage in einem Makro

Doppelte Wenn-Abfrage in einem Makro
Bernd
Liebe VBA-Könner,
ich zahne an einer Formel mit doppelter VBA-Wenn-Abfrage und bitte um Eure Hilfe:
Formel im Excel-Format:
=WENN(Kobla_Planung!A1="B u d g e t";+Kobla_Planung!F113;WENN(Kobla_Planung!A1="F o r e c a s t "; +Kobla_Planung!E113)
VBA (die noch nicht funktioniert):
Mappe.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = "=WENN(Kobla_Planung!A1=""B u d g e t"";+Kobla_Planung!F113;WENN(Kobla_Planung!A1=""F o r e c a s t "";+Kobla_Planung!E113)"";)"
Die Formel soll je nach Auswahl in Zelle A1 beim Blatt "Kobla_Planung" den Wert aus der Zelle F113 oder E113 vom gleichen Blatt übertragen in Blatt "Upload-File Kosten". Ich kriegs nicht hin. Fehlende Klammer, ein Seminkolon...?
Vielen Dank an Euch, bernd
AW: Doppelte Wenn-Abfrage in einem Makro
11.02.2011 17:29:46
Josef

Hallo Bernd,
Mappe.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = "=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;WENN(Kobla_Planung!A1=""F o r e c a s t "";Kobla_Planung!E113);"""")"
wozu die + ?

Gruß Sepp

@Josef Ehrensberger
11.02.2011 21:19:53
Bernd
Hallo Sepp,
vielen Dank, dass du mir helfen willst. Leider funktioniert der Code nicht. Meldung: Laufzeitfehler 424: Objekt erforderlich. Liegt sicherlich an mir.
Ich habe mal den code in ein Excel gepackt. Vielleicht magst du noch mal drüberblicken. Vielen Dank vorab.
https://www.herber.de/bbs/user/73504.xls
PS: das + ist ein Überbleibsel aus der Excel-Formel.
Grüße, Bernd
Anzeige
AW: @Josef Ehrensberger
11.02.2011 21:25:22
Josef

Hallo Bernd,
hab die Klammern falsch gesetzt.
Mappe.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = _
  "=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;WENN(Kobla_Planung!A1=""F o r e c a s t"";Kobla_Planung!E113;""""))"



Gruß Sepp

Anzeige
AW: @Josef Ehrensberger - Danke!
11.02.2011 22:05:44
Bernd
Hallo Josef,
vielen Dank. Jetzt klappt's.
Grüße nach Österreich. Bernd
AW: @Josef Ehrensberger - Nachtrag
11.02.2011 21:27:58
Bernd
Hallo Sepp,
Nachtrag: mein Anliegen an dich ist nur, dass die Formel in die Zelle R102 auf Blatt Upload-File Kosten geschrieben wird. Das Rechenwerk in der beigefügten Exceltabelle ist Beiwerk und hier für diese Fragestellung ja nicht so wichtig.
Grüße, Bernd
Was ist "Mappe"?
11.02.2011 21:46:52
Erich
Hi Bernd,
was ist "Mappe" in deinem Code? Diese Variable wird weder deklariert noch mit einem Wert belegt.
Schau dir diese Varianten mal an:

Option Explicit      ' immer zu empfehlen!
Sub test1()
Dim Mappe As Workbook      ' wofür?
Set Mappe = ThisWorkbook   ' dann muss das auch sein!
Mappe.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = _
"=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;" & _
"WENN(Kobla_Planung!A1=""F o r e c a s t"";Kobla_Planung!E113;""""))"
End Sub
Sub test2()
ActiveWorkbook.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = _
"=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;" & _
"WENN(Kobla_Planung!A1=""F o r e c a s t"";Kobla_Planung!E113;""""))"
End Sub
Sub test3()
ThisWorkbook.Sheets("Upload-File Kosten").Range("R102").FormulaLocal = _
"=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;" & _
"WENN(Kobla_Planung!A1=""F o r e c a s t"";Kobla_Planung!E113;""""))"
End Sub
Sub test4()
Sheets("Upload-File Kosten").Range("R102").FormulaLocal = _
"=WENN(Kobla_Planung!A1=""B u d g e t"";Kobla_Planung!F113;" & _
"WENN(Kobla_Planung!A1=""F o r e c a s t"";Kobla_Planung!E113;""""))"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
@ Erich
11.02.2011 22:07:47
Bernd
Hallo Erich,
vielen Dank für Deinen Hinweis. Ich habe meinen Code in der "echten" Mappe mit "Dim Mappe As Workbook" eingeleitet. War aber total nett von Dir, dass du mir (mal wieder :-)) helfen wolltest.
Liebe Grüße, Bernd
AW: @ Josef & Erich - noch eine kleine Frage
11.02.2011 22:13:20
Bernd
Bitte noch eine kleine Frage:
im code löse ich auf einen Zellverbund auf.:
Range("J92:R100").Select
With Selection
.UnMerge
.HorizontalAlignment = xlLeft
End With
Wenn das Makro läuft (über 50 Arbeitsmappen) , kommt dann aber jedes Mal die Abfrage, ob ich den Verbund denn auch wirklich auflösen will. Die Antwort ist JA, ich will. Wie kann ich denn diese Abfrage unterbinden?
Danke vorab,
Bernd
Anzeige
AW: @ Josef & Erich - noch eine kleine Frage
11.02.2011 22:24:32
Josef

Hallo Bernd,
gewöhn dir bitte gleich mal das .Select ab, ist total unnötig und macht den Code langsam

Application.DisplayAlerts = False
With Range("J92:R100")
.UnMerge
.HorizontalAlignment = xlLeft
End With
Application.DisplayAlerts = True
Dabei setzt du .DisplayAlerts natürlich nur einmal ganz am Anfang und am Ende!

Gruß Sepp

Anzeige
AW: @ Josef -- Danke nochmals (o.W.)
11.02.2011 22:51:49
Bernd
AW: @ Josef & Erich - hat sich erledit
11.02.2011 22:25:31
Bernd
habe halt lange nichts mehr mit VBA gemacht....
Application.DisplayAlerts = False
Grüße, Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige