ciao a tutti! sono Maria, è la seconda discussione che apro qui e spero di riuscire a fare tutto secondo le regole, nel caso ne abbia infranta qualcuna chiedo immediatamente scusa!

dunque, per le vacanze estive ci è stato affidato questo compito:

PROBLEMA:
Realizzare un applicativo in VBA, per Excel, (o software similari Open Source) per la gestione dei dati (archivi di dati). I possibili elementi da gestire sono:
• Film
• Musica
• Articoli di un negozio
• Libri
• Utenti

Io avevo iniziato a farne uno "limitato" diciamo, solo per i libri, modificandone uno che abbiamo fatto nel corso dell'anno per la gestione di una rubrica telefonica (che aveva la possibilità di aggiungere un nuovo contatto o di fare una ricerca tra quelli gia inseriti)...

ho fatto lo stesso ma con i libri, in modo che si potesse mettere titolo, autore e la biblioteca dove si trova ad esempio (al posto di nome cognome numero) e per l'inserimento di un nuovo libro tutto ok.... volevo poi fare la ricerca di modo che inserendo titolo e autore si potesse visualizzare tutti i libri corrispondenti inseriti con la relativa biblioteca dove trovarli.... ma mi da un errore che non capisco quale sia e dunque come correggerlo...

questo è il codice del mio pulsante "cerca"

codice:
Private Type Contatto
     titolo As String
     autore As String
End Type
 Dim A As Contatto

 Private Function Conta2() As Integer
Dim result As Integer
Dim esci As Boolean
esci = False
 result = 0
 Do
  result = result + 1
  If Worksheets("Foglio1").Cells(result, 1) = "" Then
  esci = True
  End If
  Loop While esci = False
  Conta2 = result
End Function
 

 Private Function Conta() As Integer
 Conta2
Dim i As Integer
Dim result As Integer
Dim esci As Boolean
esci = False
 i = 0
 Do
   A.titolo = UserForm2.titolo.Value
 A.autore = UserForm2.autore.Value
  i = i + 1
  If Worksheets("Foglio3").Cells(i, 1) = A.autore Or Worksheets("Foglio3").Cells(i, 2) = A.titolo Then
Worksheets("Foglio1").Cells(result, 1) = Worksheets("Foglio3").Cells(i, 2)
Worksheets("Foglio1").Cells(result, 2) = Worksheets("Foglio3").Cells(i, 1)
Worksheets("Foglio1").Cells(result, 3) = Worksheets("Foglio3").Cells(i, 3)
  esci = True
 End If
  
  Loop While esci = False
   If esci = False Then
   MsgBox "Libro non trovato!"
   End If
End Function

Private Sub CommandButton1_Click()
Conta
Conta2
Unload Me
End Sub
il debug mi evidenzia questa linea quando da l'errore

codice:
Worksheets("Foglio1").Cells(result, 1) = Worksheets("Foglio3").Cells(i, 2)
spero di essere riuscita a spiegare il mio problema e di averlo fatto secondo le regole

grazie per la disponibilità!