Ich habe ein Problem, bei dem eine bestimmte Spalte in der Mitte für bestimmte Zeilen Leerzeichen enthält. Dies führt den Code:xlDown wählt keine leeren Zellen aus
Range (FieldName.Offset (1), FieldName.End (xlDown)) Wählen Sie
Um nicht alle Zellen ausgewählt, da es in dem Rohling zu stoppen. Zellen und füllen XYZ für die Zellen direkt vor den Leerzeichen.
Ich weiß, dass xlup dieses Problem beheben wird, aber wenn die letzte Zelle des Feldes leer ist, dann wird es diese Zelle nicht ändern und zur nächsten bevölkerten Zelle gehen. Ich bin mir nicht sicher, wie ich meinen Code so modifizieren kann, dass er xlup verwendet und vermeidet, wenn die unteren Zellen in der Spalte leer sind. Ich habe eine Spalte mit dem Namen "ABC", die immer alle Zeilen gefüllt hat, von denen ich vielleicht pingen kann, um sie als die letzte Zeile der gefilterten Daten herauszurufen, aber ich bin mir nicht sicher, wie das geht.
My-Code
Sub SelectDown()
Dim FieldName As Range
Dim rng As Range, res As Variant, lrow As Long
Set rng = ActiveSheet.AutoFilter.Range.Rows(1)
res = Application.Match("Errors", rng, 0)
'Finds the Specific Error'
rng.AutoFilter Field:=res, Criteria1:="*-SHOULD BE XYZ*"
'Only Shows rows that have something that matches the filter criteria
lrow = ActiveSheet.Cells(Rows.Count, res).End(xlUp).Row + 1
If ActiveSheet.Range(Cells(1, res), Cells(lrow, res)).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
Set FieldName = Range("A1:BZ1").Find("COLUMN NAME")
'If field isnt present shows message
If FieldName Is Nothing Then
MsgBox "Field Name was not found."
End If
'Changes the Selection to XYZ if there is a change present
Range(FieldName.Offset(1), FieldName.End(xlDown)).Select
Selection.FormulaR1C1 = "XYZ"
'Changes the Color of the fields changed to Yellow
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
End With
Else
End If
End Sub
müssen Sie alle Linien setzen, beginnend mit 'Range (FieldName.Offset (1), FieldName.End (xlDown)). Select' am' Else' Abschnitt 'Wenn Field Is Nothing Then' , um sicherzustellen, dass die 'Find' Methode zum Finden von' FieldName' erfolgreich war. –