Ich habe versucht, VBA eine Spalte der Zellen (die von Benutzern ausgefüllt werden) zu finden, um bestimmte Kriterien zu finden. Nachdem er mit WorksheetFunction.CountIfs kämpfen (habe ich auf diesem Code angesiedelt, und bis zu diesem Zeitpunkt schien es zu funktionieren:VBA: Benanntes Argument nicht gefunden, mehrere .Finds
Sub CalendarColor()
Call VarDef
Dim SearchEmpList As Range
Dim SearchSDate As Range
Dim SearchEDate As Range
Dim SearchLType As Range
Dim SearchPType As Range
If EmpName <> "" Then
With Worksheets(2).Range("B:B") 'Search all of Employee Name list entries
Set SearchEmpList = .Find(What:=EmpName, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
End With
das ist die erste Spalte und die erste Variable So, die identifiziert werden muss. um auf das jeweilige Startdatum zu verschieben, habe ich diesen Code:
With Worksheets(2).Range("C:C") 'Search all of Start Date list entries
Set SearchSDate = .Find(What:=ActiveCell.Value, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SeachOrder:=xlByRows, _
SeachDirection:=xlNext, _
MatchCase:=False)
End With
In meinen Augen, das ist genau die gleiche, aber ich bin immer den „Laufzeitfehler‚448‘: Named Argument nicht gefunden "bei der Verwendung von Step-in zum Debuggen.
Ist es der ActiveCell.Value? Wenn ja, was kann ich sonst noch verwenden? T sein Skript wird in einem Loop-Skript verwendet, das bei jeder Iteration um 1 verschoben wird - ActiveCell scheint also am plausibelsten zu sein, wenn es überhaupt funktioniert.
Loop-Skript sieht wie folgt aus:
Sub ColorLoop()
Dim EndNumberA As Integer '31 day months
Dim EndNumberB As Integer '30 day months
Dim EndnumberC As Integer '28 day months
Dim EndNumberD As Integer '29 day months
Dim i As Integer
EndNumberA = 31
EndNumberB = 30
EndnumberC = 28
EndNumberD = 29
'Offset commands need to be tweaked each year to ensure the ActiveCell lands on the first day of the next month
'January 31d
For i = 1 To EndNumberA
Call CalendarColor
ActiveCell.Offset(, 1).Select
Next i
'Set ActiveCell to Feb1
ActiveCell.Offset(1, -28).Select
'February 28d (Use EndNumberD if leap year)
For i = 1 To EndnumberC
'Call CalendarColor
ActiveCell.Offset(, 1).Select
Next i
'Set ActiveCell to Mar1
ActiveCell.Offset(1, -28).Select
Ich bin ca. 2 Wochen in VBA lernen (und mein erster Beitrag hier), so was auch immer Sie haben, ist willkommen Informationen.
'SeachOrder' <>' SearchOrder', 'SeachDirection' <>' SearchDirection'. – GSerg
Ich bin mir nicht sicher, was das bedeutet ...? Es tut uns leid! – Exulansis
Sie vermissen ** r ** in seachOrder – cyboashu