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

Werte aus Bereich in IF Then einsetzen

Werte aus Bereich in IF Then einsetzen
27.08.2019 09:14:34
Timo
Hallo zusammen,
ich möchte eine Tabelle nach zwei Kriterien durchsuchen lassen und
einen Wert ändern wenn beide Bedingungen zutreffen.
Die erste Bedingung steht in einer anderen Tabelle und soll Wert für Wert in die Schleife eingefügt werden, die zweite Bedingung ist immer gleich.
Bisher habe ich folgendes geschrieben
(wenn ich für x(Erste Bedingung einen festen Wert eintrage funktioniert es, aber ich bekomme den Wertebereich nicht hin)
'Ausnahmen aus Bewertung entfernen
Sub Autokorrektur()
Dim y As String
Dim x As String
Application.ScreenUpdating = False
ThisWorkbook.Worksheets("Daten").Activate
With Worksheets("Ausnahmen")
x = Range(Cells(2, 1), Cells(3, 1))
y = "Bedingung 2"
For i = 2 To 2000
If Cells(i, 8) = x And Cells(i, 11) = y Then
Cells(i, 14) = "Ausnahme"
End If
Next
MsgBox "Autokorrektur durchgeführt", vbExclamation
End With
ThisWorkbook.Worksheets("Übersicht").Activate
End Sub
Gruß
Timo

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

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Bereich in IF Then einsetzen
27.08.2019 09:41:47
Torsten
Hallo Timo,
ungetestet. Ich nehme an, dass Worksheet "Daten" das ist, wo das x herkommt?

Sub Autokorrektur()
Dim y As String
Dim x As Range, Zelle As Range
Application.ScreenUpdating = False
With Worksheets("Ausnahmen")
Set x = Sheets("Daten").Range(Cells(2, 1), Cells(3, 1))
y = "Bedingung 2"
For i = 2 To 2000
For Each Zelle In x
If Cells(i, 8) = Zelle.value And Cells(i, 11) = y Then
Cells(i, 14) = "Ausnahme"
End If
Next Zelle
Next i
MsgBox "Autokorrektur durchgeführt", vbExclamation
End With
ThisWorkbook.Worksheets("Übersicht").Activate
End Sub
Gruss Torsten
Anzeige
AW: Werte aus Bereich in IF Then einsetzen
27.08.2019 09:45:52
Torsten
Oh noch Punkte vergessen. Bitte noch nachtragen.

Sub Autokorrektur()
Dim y As String
Dim x As Range, Zelle As Range
Application.ScreenUpdating = False
With Worksheets("Ausnahmen")
Set x = Sheets("Daten").Range(Cells(2, 1), Cells(3, 1))
y = "Bedingung 2"
For i = 2 To 2000
For Each Zelle In x
If .Cells(i, 8) = Zelle.value And .Cells(i, 11) = y Then
.Cells(i, 14) = "Ausnahme"
End If
Next Zelle
Next i
MsgBox "Autokorrektur durchgeführt", vbExclamation
End With
ThisWorkbook.Worksheets("Übersicht").Activate
End Sub

AW: Werte aus Bereich in IF Then einsetzen
27.08.2019 14:33:11
Timo
Hallo Torsten,
zunächst wieder vielen Dnak das Du Dir die Zeit nimmst mir zu helfen.
Lieder bekomme ich jedoch die Meldung:
Laufzeitfehler '1004'
Anwendungs- oder objektdefinierter Fehler
wenn ich deinen Code ausführe
https://www.herber.de/bbs/user/131646.xlsm
Ich habe einmal die Datei angehängt.
Gruß
Timo
Anzeige
AW: Werte aus Bereich in IF Then einsetzen
27.08.2019 15:33:17
Torsten
Hallo Timo,
ich schick dir nicht die gesamte Datei zurueck, nur den Code. Ich weiss leider nicht warum, aber Excel moechte hier, dass das Tabellenblatt "Daten" aktiviert wird. Habe das eingebaut. Code laeuft jetzt weiter. Allerdings musste ich dann feststellen, dass nichts passiert. Obwohl beide Kriterien in Zeile 5 zutreffen. Bis ich dann bemerkt habe, dass nach dem Wort "Kapazität" in der Zelle ein Leerzeichen drin war. Da musst du wirklich aufpassen, weil VBA es sehr streng nimmt mit den Strings. Habe dann das Leerzeichen geloescht und jetzt klappt es. Nicht wundern, mit dem UCase habe ich nur abgefangen, dass Gross- oder Kleinschreibung egal ist. Also egal, wie das Wort geschrieben ist. Nur zusaetliche Zeichen, wie halt Leerzeichen, stoeren.
Gruss Torsten

Sub Autokorrektur()
Dim y As String
Dim x As Range, Zelle As Range
Application.ScreenUpdating = False
With Worksheets("Daten")
With Sheets("Ausnahmen")
.Activate
Set x = .Range(Cells(2, 1), Cells(3, 1))
End With
y = UCase("Kapazität")
For i = 2 To 2000
For Each Zelle In x
If .Cells(i, 8) = Zelle.Value Then
If UCase(.Cells(i, 11)) = y Then
.Cells(i, 14) = "Ausnahme"
End If
End If
Next Zelle
Next i
MsgBox "Autokorrektur durchgeführt", vbExclamation
End With
End Sub

Anzeige
AW: Werte aus Bereich in IF Then einsetzen
29.08.2019 13:22:47
Timo
Hallo Torsten,
vielen Dank für den Code und den nützlichen Tipp.
Es funktioniert.
Gruß
Timo

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige