Sto cercando di eseguire una macro che eliminare le righe che non contengono un particolare valore nella colonna B. Ecco il mio codice:400 Errore macro di Excel
Sub deleteRows()
Dim count As Integer
count = Application.WorksheetFunction.CountA(Range("AF:AF"))
Dim i As Integer
i = 21
Do While i <= count
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("OSR Platform", Range("B" & i))) = False) Then
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("IAM", Range("B" & i))) = False) Then
Rows(i).EntireRow.Delete
i = i - 1
count = count - 1
End If
End If
i = i + 1
Loop
End Sub
Ora che cosa si dovrebbe fare è la seguente:
1.) Trovare il numero di righe per passare attraverso e impostare che, come il conteggio (questo funziona)
2.) Inizia alla riga 21 e cercare "Piattaforma OSR" e "IAM" nella colonna B [questo tipo di opere (vedi sotto)]
3. Se non trova nessuno, cancella l'intera riga e regola il conteggio e il numero di riga secondo necessità (questo funziona)
Per qualche motivo, ogni volta che il codice arriva alla prima istruzione If, una finestra di errore con un appare la X rossa che dice solo "400". Per quanto posso dire, ho scritto tutto sintatticamente in modo sano, ma chiaramente c'è qualcosa di sbagliato.
No, non è questo il problema. Ho testato questo metodo con altre condizioni sull'istruzione If e funziona bene. Buon pensiero, però. – jrad
@Gaffi - è venuto qui per suggerire la stessa cosa – LittleBobbyTables
Solo nel caso, ho solo cercato quello che Gaffi aveva suggerito (che mi metto in fondo al tavolo e ciclo indietro) e ho ottenuto lo stesso errore. – jrad