+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Estrazione Excel

  1. #1
    Adis non è in linea Scolaretto
    Post
    87

    Estrazione Excel

    Buonasera, la mia necessità sta nel dover estrarre dalla tabella Brogliaccio Prima Nota un File Excel. Ho utilizzato il codice di seguito riportato e l'estrazione è quello che volevo con l'unica eccezione dei totali per il quale ho inserito la riga objWorksheet.Cells(15, 4).Formula = "=SOMMA(D215)". nel file Excel generato nella colonna prevista appare l'errore #Nome? e il valore scritto = =@SOMMA(D215)....?
    Aiutoooo!!! che sbaglio?
    Grazie!!!!

    codice:
    Private Sub Comando2_Click()
        On Error GoTo LeggiBrogliaccio_Err
    '
        Dim objExcel
        Dim objWorkbook
        Dim objWorksheet
        Dim oRng As Excel.Range
    '
        Dim Col As Integer
        Dim Rig As Integer
    '
        Set objExcel = CreateObject("Excel.Application")
        objExcel.Visible = True
    '
        Set objWorkbook = objExcel.Workbooks.Open("C:\GAV2020\Riepilogo.xlsx")
        Set objWorksheet = objWorkbook.Worksheets("Foglio1")
    '
        Dim db As DAO.Database
        Dim rstBrogliaccio As DAO.Recordset
    '
        Set db = CurrentDb
        Set rstBrogliaccio = db.OpenRecordset("BrogliaccioPN")
    '
        Rig = 1
        Col = 1
    '
        objWorksheet.Cells(Rig, 1).Value = "N? Regis."
        objWorksheet.Cells(Rig, 2).Value = "Data/Regis."
        objWorksheet.Cells(Rig, 3).Value = "Descrizione Movimento"
        objWorksheet.Cells(Rig, 4).Value = "Entrate"
        objWorksheet.Cells(Rig, 5).Value = "Uscite"
        objWorksheet.Cells(Rig, 6).Value = "Entrate Banca"
        objWorksheet.Cells(Rig, 7).Value = "Uscite Banca"
    '
        Rig = Rig + 1
    '
        Do Until rstBrogliaccio.EOF
            objWorksheet.Cells(Rig, 1).Value = rstBrogliaccio!PN_NumeroAnno
            objWorksheet.Cells(Rig, 2).Value = rstBrogliaccio!PN_DataEmis
            objWorksheet.Cells(Rig, 3).Value = rstBrogliaccio!PN_Descrizione
            objWorksheet.Cells(Rig, 4).Value = rstBrogliaccio!PN_Entrate
            objWorksheet.Cells(Rig, 5).Value = rstBrogliaccio!PN_Uscite
            objWorksheet.Cells(Rig, 6).Value = rstBrogliaccio!PN_BancaAcc
            objWorksheet.Cells(Rig, 7).Value = rstBrogliaccio!PN_BancaAdd
            Rig = Rig + 1
            rstBrogliaccio.MoveNext
        Loop
    '
        rstBrogliaccio.Close
        Set rstBrogliaccio = Nothing
    '
        Rig = Rig + 2
        objWorksheet.Cells(15, 4).Formula = "=SOMMA(D2:D15)"
    '
        objExcel.Quit
    '
        Set objExcel = Nothing
        Set objWorkbook = Nothing
        Set objWorksheet = Nothing
    '
    LeggiBrogliaccio_Exit:
        Exit Sub
    '
    LeggiBrogliaccio_Err:
        MsgBox Error$
        Resume LeggiBrogliaccio_Exit
    '
    End Sub

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Prova a scriverlo in lingua inglese... da VBA non passi per l'interprete...
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    Adis non è in linea Scolaretto
    Post
    87
    Ho modificato il seguente riga di codice
    codice:
    '    objWorksheet.Cells(Rig, 4).Formula = "=SOMMA(D2:D15)"
        objWorksheet.Cells(Rig, 4).Formula = "=Sum(D2:D15)"
    Cosi ottengo il Totale.
    Ora mi sorge un altro dubbio nel senso che non conosco le righe o meglio nel es. sopra Rig = 14 quindi il totale lo scrivo D15.. quindi dovrei poter "=Sum(D2:IND)"...
    ho fatto un po di tentativi senza risultato..

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    La variabile Righe cosa contiene...?
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    Adis non è in linea Scolaretto
    Post
    87
    il numero delle righe scritte e quindi so in quale riga devo scrivere la formula (Rig+2) ma non so come e' l'esatta sintassi =sum(D2:ind)???

  6. #6
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Appunto...Righe+1 sarà dove devi scrivere il totale.. e lanformula avrà "D" & Riga
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  7. #7
    Adis non è in linea Scolaretto
    Post
    87
    Appunto… il mio problema non è dove scrivere la formula ma la sintassi giusta =sum(D2:ind)??? oppure Rig =sum(D2Rig)???

  8. #8
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Leggi bene
    Dove punti a Cell(15,...) non puoi lasciare 15, per questo ti avevo suggerito di usare Riga...
    Dainsu non perderti in un bicchiere d'acqua.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  9. #9
    Adis non è in linea Scolaretto
    Post
    87
    Per me è diventato un mare…
    objWorksheet.Cells(Rig, 4).Formula = "=Sum(D215)" dove qui so che Rig = 15 (ho scritto 15 Righe) e quindi la formula fa il totale dalla 2 alla 15……
    ma se scrivo :
    objWorksheet.Cells(Rig, 4).Formula = "=Sum(D2 & Riga)" non funziona !!!!! non è la sintassi giusta ???

  10. #10
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293
    Scusa ma se sai che devi ottenere la stringa D15 e che riga contiene 15... come ti ho scritto il precedente post... "D" & Riga

    "=Sum(D2" & ": D" & Riga & ")"
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi