› Excel e gli applicativi Microsoft Office › Trovare valore con INPUTBOX e copiare l'intera riga della cella trovata
-
AutoreArticoli
-
Salve, ho poca esperienza con il codice vba. Il problema consiste nel trovare, tramite INPUTBOX il valore inserito nelle celle della colonna A e copiare l'intera riga delle celle trovate in un altro foglio. Vi allego il codice che ho redatto smanettando sul web:
Sub CommercialOffer_Pulsante2_Click()
Dim xRg As Range
Dim sInp As Long
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
Dim ur As LongI = Worksheets("Commercial offer sent").UsedRange.Rows.Count
J = Worksheets("Commercial offer").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.Count(Worksheets("Commercial offer").UsedRange) = 0 Then J = 0
End If
ur = Worksheets("Commercial offer sent").Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
sInp = Application.InputBox("Inserisci un valore", , 4)
For K = 2 To ur
If CStr(Worksheets("Commercial offer sent").Range("A" & K)) = sInp Then
Worksheets("Commercial offer sent").Range("A" & K).EntireRow.Copy Destination:=Worksheets("Commercial offer").Range("A41")
J = J + 1
End If
Next
Application.ScreenUpdating = TrueEnd Sub
MI da un problema di "tipo non corrispondente" e non so cosa fare
Ciao
Innanzi tutto ti consiglio di allegare sempre il file (senza dati sensibili).
L'errore segnalato (ma dovresti aggiungere in quale riga di codice si blocca e ti dà il colore giallo dell'intera riga) è dovuto al fatto che il dato analizzato in quel momento non corrisponde al tipo di variabile che hai dichiarato.
Ti faccio un esempio:
in questa riga
If CStr(Worksheets("Commercial offer sent").Range("A" & K)) = sInp
stai convertendo in Stringa un dato che poi raffronti con la variabile sInp che hai dichiarato Long.
Fai attenzione, poi, che tutti i valori restituiti da InputBox sono Stringhe.
Ultima cosa: quando posti il codice mettilo fra i TagCode (si legge meglio)
Ciao,
Mario
Risolto, ho cambiato valore nella Dim da long a String
-
AutoreArticoli