macro cerca



  • macro cerca
    di massimiliano (utente non iscritto) data: 29/08/2014 16:20:17

    Ho creato questa macro per cercare nella colonna F un numero di un assegno
    1 - Vorrei impostare che la lunghezza del numero sia obbligatoriamente di 10 cifre e quindi essere avvisati che il nr immesso non è valido
    2 - Correggere l'errore che premendo annulla o non inserendo un nr mi da Metodo range dell'oggetto Worksheet non riuscito
     
    Sub cerca()
    inpt = InputBox("Inserisci nr assegno")
    col = InputBox("Inserisci colonna")
    Range(col & 1).Select
    With Columns("f:F")
    Set c = .Find(inpt, After:=ActiveCell, LookIn:=xlValues)
    x = 1
    If Not c Is Nothing Then
    firstAddress = c.Address
    Do
    c.Select
    MsgBox ("trovato" & x)
    Set c = .FindNext(c)
    x = x + 1
    Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
    End With
    End Sub



  • di Grograman (utente non iscritto) data: 29/08/2014 16:38:19

    In attesa delle variabili dichiarate una prima modifica:

    p.s. non è meglio evidenziare le celle invece che bombardare di msgbox l'utente?
     
    Option Explicit
    Sub cerca()
    Dim inpt As String
    
    inpt = Application.InputBox("Inserisci nr assegno", Type:=2)
    If Len(inpt) <> 10 Then
      MsgBox "Numero non valido, inserire 10 cifre."
      GoTo Uscita
    End If
    'col = InputBox("Inserisci colonna") 'utilità di questa riga?
    'Range(col & 1).Select 'utilità di questa riga?
    With Columns("f:F")
      Set c = .Find(inpt, LookIn:=xlValues)
      x = 1
      If Not c Is Nothing Then
        firstAddress = c.Address
        Do
          c.Select
          MsgBox ("trovato" & x)
          Set c = .FindNext(c)
          x = x + 1
        Loop While Not c Is Nothing And c.Address <> firstAddress
      End If
    End With
    Uscita:
    End Sub


  • macro cerca
    di massimiliano (utente non iscritto) data: 29/08/2014 16:52:58

    Grazie gentilissimo
    vorrei anche gestire il caso in cui non sia presente l'assegno ceracto
    con un messaggio tipo "nr assegno non trovato"