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

Verschachtelte IF Anweisung

Verschachtelte IF Anweisung
19.12.2017 14:45:27
Silke
Hallo zusammen,
folgendes Problem:
zwei Werte sollen überprüft werden.
Spalte 3 enthält Personal-Nr. mit Werte von
kleiner 18999
19000-19999
größer 90000
Spalte 2 enthält Kostenträger
100 für kleiner 19000
199 für 19000-19999
999 für größer 90000
Jetzt sollen alle Personal-Nr. geprüft werden und den richtigen Kostenträgern zugeordnet werden.
ABER: wenn die Zelle Personal-Nr. leer ist dann soll er unverrichteter Dinge weiter gehen zur nächsten Zelle. Es kommen nämlich leere Zellen vor.
Ich hab mich in VBA versucht, leider klappt es nicht. Nachfolgend der Code (bitte nicht erschrecken ich bin absoluter Anfänger) :-)
Option Explicit
Sub KostentraegerVerwalten()
Dim ls As Integer
Dim s As Integer
'** Ermittlung der letzten Zeile in Spalte 3
Application.ScreenUpdating = False
ls = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
'klappt
'** Durchlauf aller Zeilen
For s = ls To 2 Step -1 'Zählung rückwärts bis Spalte 1
'** Abfragen, ob in der ersten Spalte der Wert "" steht
'wenn ja dann nexte Zelle
Select Case Cells(s, 3).Value = ""
Case True
End Select
'Alles was kleiner 19000 ist soll den Kostenträger 100 erhalten.
If Cells(s, 3).Value  19000 & Cells(s, 3).Value = 90000 Then
Cells(s, 2).Value = 999
Else
End If
End If
End If
Next s
Application.ScreenUpdating = True
End Sub

Danke schon mal für die Hilfe.
LG Silke

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschachtelte IF Anweisung
19.12.2017 14:56:44
Bernd
Hi Silke,
teste mal

Sub KostentraegerVerwalten()
Dim ls As Integer
Dim s As Integer
ls = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
For s = ls To 2 Step -1
If Cells(i, 3).Value >= 90000 Then Cells(i, 2).Value = 999
If Cells(i, 3).Value >= 19000 And Cells(i, 3).Value 
Grüße, Bernd
AW: Verschachtelte IF Anweisung
19.12.2017 15:03:21
Bernd
Hi,
Leerzeilen vergessen und falsche Laufvariable...

Sub KostentraegerVerwalten()
Dim ls As Integer
Dim s As Integer
ls = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
For s = ls To 2 Step -1
If Cells(s, 3).Value = "" Then s = s - 1
If Cells(s, 3).Value >= 90000 Then Cells(s, 2).Value = 999
If Cells(s, 3).Value >= 19000 And Cells(s, 3).Value 

Anzeige
AW: Verschachtelte IF Anweisung
19.12.2017 15:08:04
ede
sorry, hab deinen code nochmals angepasst...., war noch ein kleiner Fehler drin
Sub KostentraegerVerwalten()
Dim ls As Integer
Dim i As Integer
ls = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
For i = ls To 2 Step -1
If Cells(i, 3).Value >= 90000 Then Cells(i, 2).Value = 999
If Cells(i, 3).Value >= 19000 And Cells(i, 3).Value 

AW: Verschachtelte IF Anweisung
19.12.2017 19:58:08
Bernd
Servus,
worin liegt denn mein Fehler?
Wenn die Zelle leer ist spring ich direkt in die nächste Zeile weiter...
Grüße Bernd
AW: Verschachtelte IF Anweisung
19.12.2017 20:37:54
guenni
.

Wenn nix drinnsteht ist 

Anzeige
AW: Verschachtelte IF Anweisung
19.12.2017 22:00:05
Bernd

ABER: wenn die Zelle Personal-Nr. leer ist dann soll er unverrichteter Dinge weiter gehen zur nächsten Zelle. 

AW: Verschachtelte IF Anweisung
20.12.2017 01:52:32
guenni
Du hast gefragt was du falsch gemacht hast, und nicht was passieren soll.
Ich habe Dir beschrieben, was Dein code macht
AW: Verschachtelte IF Anweisung
19.12.2017 15:10:25
guenni

Sub KostentraegerVerwalten()
Dim ls As Integer
Dim s As Integer
dim zellchen as range
'** Ermittlung der letzten Zeile in Spalte 3
Application.ScreenUpdating = False
ls = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
'klappt
'** Durchlauf aller Zeilen
For each zellchen in range(cells(1,3),cells(ls,3))
select case zellchen
case = 90000
zellchen.offset(0,1) = 999
case else
end select
Next
End Sub

Anzeige
AW: Verschachtelte IF Anweisung
19.12.2017 15:14:37
guenni
Offset(0,1) muss durch Offset(0,-1) ersetzt werden
habe die Spaltenanordnung verwechselt
AW: Verschachtelte IF Anweisung
19.12.2017 15:33:26
Silke
Hi nochmals,
es klappt alles wie gewünscht ;-)
Merci für eure Hilfe. Ihr seid Gold wert :-)
LG Silke

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige