Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

If-Befehl in einem Value-Befehl

If-Befehl in einem Value-Befehl
24.10.2006 18:23:18
Matthias
Hallo miteinander
Ich bin leider noch nicht so gut in VBA ... kann mir Jemand aushelfen?
Wie kann ich innerhalb einem Value ein If-Befehl ausführen?
Worksheets("Code_erstellen").Cells(35, 5).Value = _
If Worksheets("Code_erstellen").Cells(17, 5).Value 0 Then "Text einfügen" End If
Ich kann den If Befehl leider nicht VOR das Value nehmen, weil noch viele andere Zellen in das Value eingelesen werden.
Merci vielmal.
Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: If-Befehl in einem Value-Befehl
24.10.2006 18:58:06
lueckii
Hallo Matthias!
Versuchs mal so

Sub b()
If Worksheets("Code_erstellen").Cells(17, 5).Value <> 0 Then
Worksheets("Code_erstellen").Cells(35, 5).Value = _
Worksheets("Tabelle1").Cells(17, 5).Value
End If
Gruß Martin
End Sub

AW: If-Befehl in einem Value-Befehl
24.10.2006 21:43:21
Matthias
Hi Martin
Danke, das habe ich auch gedacht, bzw. das funktioniert auch gut. Das Problem ist aber, dass in dieser Zelle "35" mehr als nur ein Wert steht. D.h. es kommen gan viele "Values" rein, aber nur einer hat ein IF.
Ich habe also eine Zelle in die Werte von anderen Zellen kommen. Nun möchte ich eine "WENN-Formel" einbinden, dass gewisse Werte nur dann als Value reinkommen, wenn gewisse Voraussetzungen gegeben sind. Innerhalb der Value kann ich aber scheinbar keine IF-Funktion erstellen .... wie müsste ich es sonst tun?
Einen lieben Gruss
Matthias
Anzeige
AW: If-Befehl in einem Value-Befehl
24.10.2006 23:15:20
fcs
Hallo Mathias,
so ganz blick ich noch nicht durch was du genau willst.
Du kannst ähnlich wie mit der Formel WENN auch unter VBA einen Wert über eine Bedingungung zuweisen. Beispiel:

Worksheets("Code_erstellen").Cells(35, 5).Value = _
IIf(Worksheets("Code_erstellen").Cells(17, 5).Value <> 0, "Text einfügen", "Was sonst")
oder auch
Worksheets("Code_erstellen").Cells(35, 5).Value = _
IIf(Worksheets("Code_erstellen").Cells(17, 5).Value <> 0, "Text einfügen", "Code_erstellen").Cells(35, 5).Value)

Für das Ergebnis bei Wahr bzw. Falsch kannst du natürlich auch Variablen oder andere Ausdrücke einsetzen.
An sonstens solltest du noch genauer beschreiben was, wann in Cells(35,5) passieren soll. Dann kann man entsprechende If- oder Select Case - Anweisungen erstellen, die die entsprechenden Werte in die Cells(35,5) schreiben.
Gruss
Franz
Anzeige
AW: If-Befehl in einem Value-Befehl
25.10.2006 00:15:47
Daniel
Hallo
verstehe ich das richtig, das sich der Zellwert aus vielen Einzelwerten zusammensetzt, von denen einer (oder einige) per IF noch gesteuert werden sollen?
Und das soll alles in eine Zeile programmiert werden?
Das kannst du doch in mehrere Zeilen aufbrechen, in dem du immer schreibst:

sheets("Code_erstellen").cells(35,5).value = "TextTeil 1"
sheets("Code_erstellen").cells(35,5).value = sheets("Code_erstellen").cells(35,5).value & "TextTeil 2"
if xy = true then
sheets("Code_erstellen").cells(35,5).value = sheets("Code_erstellen").cells(35,5).value & "Textteil 3a"
else
sheets("Code_erstellen").cells(35,5).value = sheets("Code_erstellen").cells(35,5).value & "Textteil 3b"
end if
sheets("Code_erstellen").cells(35,5).value = sheets("Code_erstellen").cells(35,5).value & "TextTeil 4"
dann wird der weitere Text immer ergänzt.
Das ist zwar etwas mehr Schreibarbeit, aber wesentlich übersichtlicher, da die Zeilen kürzer sind.
Außerdem kannst du vor jeden Bestandteil die entsprechende IF-Abfrage stellen, ohne die anderen Bestandteile zu beeinflussen.
Verkürzen kannst du das ganze noch, indem du mit WITH arbeitest, dh. du schreibst am Anfang der Zuweisung "With Sheets("Codeerstellen").cells(35,5)" und am Ende dann "End with". Dazwischen kannst du dann jedesmal den Text "Sheets("Codeerstellen").cells(35,5) durch einen "." ersetzen. Das sieht dann so aus:

with sheets("Code_erstellen").cells(35,5)
.value = "TextTeil 1"
.value = .value & "TextTeil 2"
if xy = true then
.value = .value & "Textteil 3a"
else
.value = .value & "Textteil 3b"
end if
.value = .value & "TextTeil 4"
end with

innerhalb dieser WITH-Klammer weiß Excel, das mit dem "." das Objekt Sheets("Coder_erstellen").Cells(35,5) gemeint ist.
Gruß, Daniel
Anzeige
AW: If-Befehl in einem Value-Befehl
25.10.2006 06:19:25
Matthias
Hi euch beiden. Ganz herzlichen Dank für die super Erklärung. Es funktioniert jetzt bestens :-)
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige