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

wenn Wert in Zelle dann...

wenn Wert in Zelle dann...
30.11.2022 23:47:14
Lapos
Hallo, mit meinem Code komme ich nicht weiter.
Ich möchte erreichen das wenn in Spalte A ab genau A3 ein Wert vorhanden ist, in Spalte P dazu 0,19 ausgegeben wird. Wenn in A keine Wert vorhanden ist soll P natürlich leer bleiben bzw. geleert werden.

Sub test()
Dim i As Integer
With Sheets("Tabelle1")
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Range("A3" & i) > 0 Then .Range("P" & i) = "0,19" Else .Range("P" & i) = "" ' wenn ein Wert in Zelle A dann Wert in P ausgeben
Next i
End With
End Sub
Vielen Dank
Lapos

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

Betreff
Datum
Anwender
Anzeige
AW: wenn Wert in Zelle dann...
01.12.2022 05:09:57
ralf_b
entweder du nimmst die specialcells variante oder du nimmst die for schleife.
einfach mal ausprobieren. Die 0,19 soll doch bestimmt kein Text sein, oder?

Sub test1()
Dim i&, lrow&
With Sheets("Tabelle1")
' wenn ein Wert in Zelle A dann Wert in P ausgeben
lrow = .Cells(.Rows.Count, 1).End(xlUp).Row
If lrow  "" Then
'                .Range("P" & i) = 0.19
'            End If
'        Next i
End With
End Sub

AW: wenn Wert in Zelle dann...
01.12.2022 08:15:12
Yal
Hallo Lapos,
jede einzelne Teil von VBA ist an sich ganz einfach. Lasst dich von dem gesamten nicht ablenken.
Aber Computer sind dumm und erwarten Genauigkeit. Du kannst nicht "aber du verstehst, was ich meine" von einen Computer erwarten (zumindest nicht in VBA).

If .Range("A3" & i) > 0 Then
Lese diesen Code laut vor dir und auf Deutsch. Als ob Du es jemand anderen Vorträgen würde.
Und gehe dabei die Schleife durch: i ist 1, also es wird Range ... gelesen.
Nichts überspringen, nichts vornehmen (kein "das weiß ich schon").
Da wirst Du selbst hören, dass etwas nicht passt.
VG
Yal
Anzeige
AW: wenn Wert in Zelle dann...
01.12.2022 12:54:21
Lapos
Ja. Die 3 von If .Range("A3" lese ich ja schon in der for schleife ein. Da hat es geklemmt.
Beide Codes funktionieren gut. Welcher Code macht sich denn für diese Aufgabe besser? Mein eigener oder der von ralf_b ?
Viele Grüße
Lapos
AW: wenn Wert in Zelle dann...
01.12.2022 21:44:42
ralf_b
bei diesem codeschnipsel sollte man nicht von besser oder schlechter sprechen.
Du mußt ihn verstehen und auch noch in zwei Wochen verstehen können.
Ich habe dir zwei Lösungen gegeben. Eine ist auskommentiert. In vba führen meist mehrere Wege zum Ziel.
Aber auch dein eigener Code ist ok, wenn er tut was er soll.
AW: wenn Wert in Zelle dann...
01.12.2022 08:53:29
Manuel
Hallo,
ich glaube in Codezeile 4 ist nur die 3 bei ' If .Range("A3" & i) > 0' zu viel, da du über i die Zeile übergibst.

Sub test()
Dim i As Integer
With Sheets("Tabelle1")
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Range("A" & i) > 0 Then .Range("P" & i) = "0,19" Else .Range("P" & i) = "" ' wenn ein Wert in Zelle A dann Wert in P ausgeben
Next i
End With
End Sub
Grüsse
Anzeige

349 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige