Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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 Dann Sonst als VBA

Wenn Dann Sonst als VBA
09.10.2023 12:39:49
Uli
Hallo,

bestimmt ist das Thema hier schon zig-mal beantwortet worden, für meine Bedürfnisse finde ich trotzdem nichts.

Ich habe mal eine Datei hochgeladen mit meinem Problem. Vielleicht kann mir ja jemand helfen. Vielen Dank schon mal
lg
Ulrike

https://www.herber.de/bbs/user/163305.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Dann Sonst als VBA
09.10.2023 12:46:57
Raimund
Hi Ulrike

Teste mal bitte:

Sub Mitarbeiter()
Dim letzteZeile As Long
Dim i As Long

' Bestimmen der letzten Zeile in Spalte A
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row

' Überprüfen und Markieren der Werte in Spalte A
For i = 1 To letzteZeile
If Cells(i, 1).Value > 1000 Then
Cells(i, 2).Value = "Beschäftigter"
Else
Cells(i, 2).Value = "Mitarbeiter"
End If
Next i
End Sub


Gruss

Raimund
AW: Wenn Dann Sonst als VBA
09.10.2023 12:48:24
SF
Hola,
und warum als VBA?
Gruß,
steve1da
Anzeige
AW: Wenn Dann Sonst als VBA
09.10.2023 12:52:09
Jan
Hallo

Dann teste mal
=WENN(A2>1000;"Beschäftigter";"Mitarbeiter")
AW: Wenn Dann Sonst als VBA
09.10.2023 12:54:42
GerdL
Moin Ulrike!
Sub Unit()


Dim Zeile As Long


For Zeile = 2 To Cells(Rows.Count, "A").End(xlUp).Row

If IsNumeric(Cells(Zeile, "A").Text) Then 'nur wenn in A eine Zahl steht
If Cells(Zeile, "A") > 1000 Then
Cells(Zeile, "B") = "Beschäftigter"
Else
Cells(Zeile, "B") = "Mitarbeiter"
End If
End If

Next


End Sub


Gruß Gerd
Anzeige
AW: Wenn Dann Sonst als VBA
09.10.2023 13:07:52
daniel
Hi
diese Art von Aufgabenstellung lässt sich am besten mit einer Kombination aus VBA und Formeln lösen.
Sub test()

With Range("A:A").SpecialCells(xlCellTypeConstants, 1).Offset(0, 1)
.FormulaR1C1 = "=LookUp(RC1,{0,1000},{""Mitarbeiter"",""Beschäftigter""})"
.Formula = .Value
End With
End Sub


eine VBA-Lösung, die bei größeren Datenmengen ähnlich schnell und effektiv ist wie die Formelvariante, sieht dann schon etwas komplizierter aus:
Sub test()

Dim arr
Dim z As Long
With Range(Cells(2, 1), Cells(1, 1).End(xlDown))
arr = .Value
For z = 1 To UBound(arr, 1)
If arr(z, 1) >= 1000 Then
arr(z, 1) = "Beschäftigter"
Else
arr(z, 1) = "Mitarbeiter"
End If
Next
.Offset(0, 1).Value = arr
End With
End Sub


Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige