Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB&Excel] Leggere il numero delle righe in un foglio

    Salve a tutti

    Devo leggere da VB6 un foglio di Excel.
    Per ciò che riguarda la lettura delle celle non ho nessun problema.
    Però ho la necessità di contare le RIGHE presenti nel foglio; ora, io ho 41 righe nel foglio ma quando vado a contarle mi restituisce 462...
    quindi la domanda è: come faccio a leggere il numero di righe "effettive"? (riga di codice in grassetto)
    ecco il codice:
    codice:
    Dim exApp As Excel.Application
    Dim exWb As Excel.Workbook
    Dim exWs As Excel.Worksheet
    Dim numRighe As Integer
    Dim indRiga As Integer
    
    'apre excel
    Set exApp = New Excel.Application
    exApp.Visible = True
    
    'apre il file xls
    strPerc = "C:\...\prova.xls"
    Set exWb = exApp.Workbooks.Open(strPerc)
    
    'seleziona il foglio 1
    Set exWs = exWb.Worksheets(1)
    
    'conta il numero di righe
    numRighe = exWs.Rows.CurrentRegion.Count
    
    For indRiga = 2 To numRighe
        'leggo il contenuto delle celle
    Next indRiga
    
    'salva e chiude file
    exWb.Save
    exWb.Close
    'esce da excel
    exApp.Application.Quit
    'cancella le variabili oggetto
    Set exApp = Nothing
    Set exWb = Nothing
    Set exWs = Nothing
    Grazie a tutti

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    prova ad usare la proprietà UsedRange del WorkSheet
    Restituisce il Range utilizzato e puoi ricavarti il numero di righe
    S'i fosse foco, arderei 'l mondo

  3. #3
    Originariamente inviato da cik
    prova ad usare la proprietà UsedRange del WorkSheet
    Restituisce il Range utilizzato e puoi ricavarti il numero di righe
    provo subito grazie cik

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    codice:
    numRighe = exWs.UsedRange.Rows.Count
    mi restituisce 45 righe invece di 41... è sicuramente meglio di prima ma non è perfetto. forse ho sbagliato a scrivere?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    ho risolto...
    in pratica c'erano 4 righe all'apparenza vuote che evidentemente avevano qualche valore memorizzato e poi cancellato.
    Ora le righe sono 41...:metallica

    grazie cik

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    ...è sempre un piacere

    Enjoy...
    S'i fosse foco, arderei 'l mondo

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    ho un problema come il tuo.
    1 in pratica aprio excel da visual basic 6

    Dim APPEXCEL As New Excel.Application
    Dim cartExcel As Excel.Workbook
    Dim foglioExcel As Excel.Worksheet


    2 riempio il foglio con i dati
    3 chiudo excel ecc....



    ma se dopo riprovo a rilanciare l'apertura di excel mi aprre solo excel senza aprire il modulo.
    come mai?

    questo è il finale

    cartExcel.SaveAs "C:/modelli/" & cognome & " " & nome & ".XLS"


    MsgBox "IL PROSPETTO è stato creato", vbInformation, "Creazione PROSPETTO!"

    'CHIUDO EXCEL
    cartExcel.Close

    Set cartExcel = Nothing

    APPEXCEL.Quit
    Set APPEXCEL = Nothing
    Set foglioExcel = Nothing

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.