Errore System.MissingMemberException

di il
2 risposte

Errore System.MissingMemberException

Buonasera Ragazzi,
Non ho trovato un'area apposita per presentarmi. Io provengo da programmazioni in vba su Excel e sono molto poco pratico di vb.net in Visual Studio. Provo a studiare solo e a documentarmi come posso. Ho cercato in giro e non riesco a trovare una soluzione a questo problema:
Su una UserForm in Excel, avevo creato il seguente comando:

Private Sub UserForm_Initialize()

Dim cella As Range

For Each cella In Foglio1.Range(Range("B5"), Range("B999999").End(xlUp))

cboRicerca.AddItem cella.Value & " " & cella.Offset(0, 1).Value

Next cella

End Sub

che mi permetteva di caricare determinati valori presenti nelle celle automaticamente all'apertura della UserForm.

Vorrei fare la stessa cosa su un Form in Visual Studio. Ho scritto il seguente comando:

Public Class Accettazione
Private Sub Accettazione_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dbaAc As Excel.Application
Dim xldba As Excel.Workbook
Dim cella As Excel.Range

dbaAc = New Excel.Application
xldba = dbaAc.Workbooks.Open("D:\OneDrive\Documenti\Light\Light_dba_Anagrafico")

For Each cella In xldba.Range(xldba.Range("B5"), xldba.Range("B999999").xlDirection.XlUp)

Me.cboRicerca.Items.Add(xldba.cella.Value & " " & xldba.cella.Offset(0, 1).Value)

Next cella

End Sub

End Class

Quando avvio il Form, mi da' il seguente errore nella riga " For Each cella In xldba.Range(xldba.Range("B5"), xldba.Range("B999999").xlDirection.XlUp) " : System.MissingMemberException: 'Public member 'Range' on type '__ComObject' not found.'

Errore.jpg
Errore.jpg

Mi sapreste dire cosa sbaglio?

2 Risposte

  • Re: Errore System.MissingMemberException

    È piuttosto semplice: Range per Workbook non esiste. Esiste solo per Worksheet. Devi prima dirgli il foglio che ti interessa e poi prendi il Range...
    Edit: Aggiungo anche che la Proprietà End(xlDirection) esiste anche qui, quindi diventa
    For Each cella In foglio.Range(foglio.Range("B5"), foglio.Range("B999999").End(xlUp)) 
  • Re: Errore System.MissingMemberException

    Grazie 1000 provo più tardi! Sapevo che mi stavo perdendo in un bicchiere d’acqua
Devi accedere o registrarti per scrivere nel forum
2 risposte