Excel e gli applicativi Microsoft Office Trovare valore con INPUTBOX e copiare l'intera riga della cella trovata

Login Registrati
Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
  • Autore
    Articoli
  • #13955 Score: 0 | Risposta

    Claudio1950
    Partecipante

      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 Long

      I = 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 = True

      End Sub

       

      MI da un problema di "tipo non corrispondente" e non so cosa fare

      #13956 Score: 0 | Risposta

      Marius44
      Moderatore
        51 pts

        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

        #13957 Score: 0 | Risposta

        Claudio1950

          Risolto, ho cambiato valore nella Dim da long a String

        Login Registrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: Trovare valore con INPUTBOX e copiare l'intera riga della cella trovata
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni: