Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

ERRORE RUN-TIME '1004': errore definito dall'applicazione o dall'oggetto

  1. #1
    AlbertoT non  in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve a tutti,
    sono nuovo e avrei bisogno di un aiutino con VB

    Sullo stesso foglio di lavoro, ho 2 colonne "Codice1" e "Codice2": devo implementare un cerca.vert in VB che dato in input un valore presente in Codice1 restituisca il suo corrispettivo dalla colonna Codice2.
    Ho compilato cos la macro:

    Sub code()
    Dim alternative, code1 As String

    alternative = Application.InputBox(prompt:="Please insert code2", Title:="code2--->code1", Type:=2)

    code1 = Application.WorksheetFunction.VLookup(alternative, Worksheets("foglio1").Range("c3:d1000"), 2, 0)

    msgbox(code1)

    End Sub


    Il problema che per alcuni valori la macro funziona, per altri mi restituisce il mess di cui il titolo del thread. I dati code2 sono stringhe alfanumeriche (es. A1234F) o codici numerici (12345), ed il problema capita quasi esclusivamente con quest'ultimi.

    Qualche idea???

    Grazie in anticipo

  2. #2
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    prova:
    .....Application.VLookup.........

    al posto di

    ....Application.WorksheetFunction.VLookup......

    saluti

  3. #3
    AlbertoT non  in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da dodo47 Visualizza il messaggio
    Ciao
    prova:
    .....Application.VLookup.........

    al posto di

    ....Application.WorksheetFunction.VLookup......

    saluti
    Con la tua modifica non si blocca, ma la variabile code1 assume valore Errore 2042 (prob un N/D!)...eppure ho provato a fare cerca.vert sul foglio excel con la formula su cella e non mi da nessun errore, trova tutti i dati.

  4. #4
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    se prosegue, probabilmente una questione legata al parametro Type:=2.
    Prova con il debug a capire se da errore con una stringa o con un numero e guarda cosa contenuto in code1.

    saluti

  5. #5
    AlbertoT non  in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da dodo47 Visualizza il messaggio
    Ciao
    se prosegue, probabilmente una questione legata al parametro Type:=2.
    Prova con il debug a capire se da errore con una stringa o con un numero e guarda cosa contenuto in code1.

    saluti
    Ho direttamente eliminato il controllo type e dichiarato code1 e alternative come variant. Niente!!
    L'inghippo sta nell'immissione dati dell'input box, perch se attribuisco un valore default ad alternative (es. alternative=cells(31,3).value) il cerca.vert funziona e restituisce il valore corretto.

    non ne esco fuori

  6. #6
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    prova:
    Sub code()
    Dim alternative As Variant, code1 As Variant
    alternative = Application.InputBox(prompt:="Please insert code2", Title:="code2--->code1", Type:=1 + 2)
    code1 = Application.VLookup(alternative, Worksheets("foglio1").Range("c3:d1000"), 2, 0)
    MsgBox (code1)
    End Sub
    
    saluti

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 6
    Ultimo Post: 08-07-2019, 23:54
  2. Errore "Tipo definito dall'utente non definito"
    Da baltimora nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 01-04-2016, 14:19
  3. Errore 1004: errore definito dall'applicazione o dall'oggetto
    Da stregatto nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 22-02-2014, 13:23
  4. Risposte: 3
    Ultimo Post: 10-12-2011, 09:39
  5. ACCESS: Oggetto definito dall'utente
    Da amanu86 nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 09-01-2008, 11:53