Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
anscheinend spinnt da das Intersect bei ganzen Spalten. So sollte das keine Rolle mehr spielen: Sub Makro1()
Dim i As Long, j As Long
Dim rngZ As Range
Dim varQ As Variant
Dim varZ As Variant
With Range("B1", Cells(Rows.Count, 2).End(xlUp))
varQ = .Offset(, 3).Resize(, 2).Value
ReDim varZ(1 To UBound(varQ), 1 To 2)
For i = 1 To UBound(varQ)
If Len(varQ(i, 1)) Then
j = Application.Match(varQ(i, 1), Columns(2), 0)
If j Then
varZ(j, 1) = varQ(i, 1)
varZ(j, 2) = varQ(i, 2)
End If
End If
Next i
.Offset(, 3).Resize(UBound(varZ, 1), UBound(varZ, 2)).Value = varZ
Application.Intersect(Range("A1:F" & UBound(varZ, 1)), .Offset(, 3).EntireColumn.SpecialCells(xlCellTypeBlanks).EntireRow).Interior.Color = vbRed
End With
End Sub Gruß Uwe
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hi Uwe,
nun funktioniert es perfekt!!! Vielen vielen Dank dafür!!! :)
Ich habe den Code nun in meiner Produktivtabelle eingefügt, dort gehen aber die Werte erste ab Zeile 6 los, Spalten sind die gleichen!
Dort funktioniert das leider nicht mehr, habe versucht, das anzupassen, aber wie ich schon sagt, ich verstehe leider den Code garnicht! :(
Wie kann ich den Code anpassen, damit es hier auch funktioniert!?
Vielen Dank & sorry für die Umstände, hätte die Beispieldatei gleich so aufbauen sollen, wie sie im Produktiv auch ist, ich dachte ich bekomme die Anpassungen hin! :)
LG
Alexandra
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
27.08.2020, 08:52
(Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2020, 12:57 von Kuwer.)
Hallo Alexandra,
ungetestet, da am Handy: Sub Makro1()
Dim i As Long, j As Long
Dim rngZ As Range
Dim varQ As Variant
Dim varZ As Variant
With Range("B6", Cells(Rows.Count, 2).End(xlUp))
varQ = .Offset(, 3).Resize(, 2).Value
ReDim varZ(1 To UBound(varQ), 1 To 2)
For i = 1 To UBound(varQ)
If Len(varQ(i, 1)) Then
j = Application.Match(varQ(i, 1), Columns(2), 0)
If j Then
j = j - 5
varZ(j, 1) = varQ(i, 1)
varZ(j, 2) = varQ(i, 2)
End If
End If
Next i
.Offset(, 3).Resize(UBound(varZ, 1), UBound(varZ, 2)).Value = varZ
Application.Intersect(Range("A6:F" & UBound(varZ, 1) + 5), .Offset(, 3).EntireColumn.SpecialCells(xlCellTypeBlanks).EntireRow).Interior.Color = vbRed
End With
End Sub Gruß Uwe
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hallo Uwe,
es funktioniert! :)
Neues Problem, wenn alle Werte gefunden werden(also keine rote Zeilen :) , dann kommt hier eine Fehlermeldung:
Code: Application.Intersect(Range("A6:F" & UBound(varZ, 1) + 5), .Offset(, 3).EntireColumn.SpecialCells(xlCellTypeBlanks).EntireRow).Interior.Color = vbRed
Laufzeitfehler 91..
Objektvariable oder With-Blockvariable nicht festgelegt!?
Vielen lieben dank
LG
Alexandra
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Alexandra,
fùge darüber folgende Zeile ein: On Error Resume Next Gruß Uwe
Registriert seit: 27.04.2014
Version(en): Privat: Office Home & Business 2019 / Arbeit: MS365
Hi Uwe,
perfekt, jetzt funktioniert es perfekt!
Herzlichen Dank für deine wirklich tolle Hilfe!!! :)
LG
Alexandra
|