Bereich Abfragen

Betrifft: Bereich Abfragen
von: Matthias
Geschrieben am: 01.10.2020 07:17:08
Guten Morgen Wissende,
ich habe folgenden VBA Code
Sub Uebertrag_AlleMontagefirma()
Dim loAnz As Long, loLetzte As Long
Dim raBereich As Range, raZelle As Range
Dim lngCalc As Long
Application.ScreenUpdating = False
lngCalc = Application.Calculation
Application.Calculation = xlCalculationManual
With Worksheets("Montagefirma")
.Range("A1:xfd" & .Cells(.Rows.Count, 1).End(xlUp).Row).Clear
End With
With Worksheets("Terminplan")
.Columns("A:B").Hidden = False
Set raBereich = .Range("B1:B" & .Cells(.Rows.Count, "B").End(xlUp).Row)
For Each raZelle In raBereich.SpecialCells(xlCellTypeVisible)
If raZelle.Text = .Range("F2") .Text Then
raZelle.EntireRow.SpecialCells(xlCellTypeVisible).Copy
loAnz = loAnz + 1
With Worksheets("Montagefirma")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
If .Cells(1, "A") = "" Then loLetzte = 1
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
.Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteFormats
End With
End If
Application.CutCopyMode = False
Next raZelle
.Columns("A:B").Hidden = True
End With
Application.Calculation = lngCalc
MsgBox "Es wurden " & loAnz & " Sätze übertragen."
Set raBereich = Nothing
End Sub
ich frage dort die Zelle F2 ab und wenn diese mit dem Einträgen in Spalte B übereinstimmt werden alle Zeilen mit Übereinstimmung in ein anderes Tabellenblatt kopiert.
Wie kann ich nun den Code so verändern, dass ich nicht nur eine Zelle (also F2) abfragen kann sondern mehrere.
Danke im Voraus für die Hilfe
Matthias

Betrifft: AW: Bereich Abfragen
von: MRUTOR
Geschrieben am: 01.10.2020 07:29:59
Hallo,
mit AND z.B.:
If raZelle.Text = .Range("F2").Text AND raZelle.Text = .Range("F3").Text Then
Das kannst du beliebeig weiterfuehren. Dann wird Then nur ausgefuehrt wenn
alle Bedingungen zutreffen. Mit OR geht es auch, wenn
nur eine von mehreren Bedingungen zutreffen soll.
Gruss Tor

Betrifft: AW: Bereich Abfragen
von: Matthias
Geschrieben am: 03.10.2020 10:49:35
Hallo Tor
vielen dank für deine Hilfe, funktioniert sehr gut,
wenn ich die Zellen in nun in einer Anderen Tabellenblatt abfragen möchte,
was müsste ich dann eingeben
If raZelle.Text = .Range("F2").Text AND raZelle.Text = .Range("F3").Text Then
Gruss
Matthias

Betrifft: AW: Bereich Abfragen
von: Hajo_Zi
Geschrieben am: 04.10.2020 09:02:21
Hallo Matthias,
With Worksheets("andere Tabelle")
.Columns("A:B").Hidden = False
Gruß Hajo

Betrifft: AW: Bereich Abfragen
von: MRUTOR
Geschrieben am: 05.10.2020 14:23:57
Hallo Matthias,
na wenn diese Zellen in einem anderen Blatt liegen, dann musst du hier halt auf das andere BlAtt referenzieren:
If raZelle.Text = Sheets("AndresBlatt").Range("F2").Text AND raZelle.Text = Sheets("AndresBlatt")..Range("F3").Text Then
Gruss Tor