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

    [VB6] Cambiare foglio in EXCEL

    Sto popolando un foglio excel con i dati del DB

    Ho un problema
    Non riesco a cambiare il foglio di lavoro

    Ho 7 foglio di lavoro:
    Lun
    Mar
    Mer
    Gio
    Ven
    Sab
    Dom

    Quando gli dico di passare al foglio Mar non funziona, però se gli dico di stamparli me lo fa correttamente

    Vi riporto il codice:

    Dim appExcel As New Excel.Application
    Dim cartExcel As Excel.Workbook
    Dim foglioExcel As Excel.Worksheet
    Set appExcel = New Excel.Application ' crea una nuova applicazione Excel
    Set cartExcel = appExcel.Workbooks.Open(App.Path & "\Alimentazione.xls") ' apre un workbook

    Set foglioExcel = cartExcel.Sheets("Lun")

    codice sta stampare

    Set foglioExcel = cartExcel.Sheets("Mar")

    codice sta stampare

    appExcel.Worksheets("Lun").PrintOut
    appExcel.Worksheets("Mar").PrintOut


    Cosi facendo lui mi popola il foglio Lun, poi mi ripopola il foglio Lun senza passare a Mar, però quando vado in stampa, mi stampa Lun pieno di dati e Mar vuoto

    Il problema sicuramente sta in:
    Set foglioExcel = cartExcel.Sheets("Mar")

    Mi dite come posso correggerla????

    Ciao e grazieeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Secondo quanto dici,
    Cosi facendo lui mi popola il foglio Lun, poi mi ripopola il foglio Lun senza passare a Mar, però quando vado in stampa, mi stampa Lun pieno di dati e Mar vuoto
    il problema sta nel codice che usi per popolare lo sheet.

    Fai probabilmente un po' di confusione.
    Ciao, Brainjar

  3. #3

    Perchè??

    Originariamente inviato da Brainjar
    Secondo quanto dici,


    il problema sta nel codice che usi per popolare lo sheet.

    Fai probabilmente un po' di confusione.

    la popolazione è perfetta....tutti i dati sono scritti correttamente

    Io ho detto che non mi cambia foglio.....è li il problema
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Scusa ma tu riempi correttamente cosa ?

    dopo Set foglioExcel = cartExcel.Sheets("Lun")
    prova a inserire cartExcel.Sheets("Lun").Activate

    o foglioExcel.Activate

    E fallo anche per lo sheet "Mar".

    Tieni l'applicazione Excel visibile e vedi se ti 'riempie' anche lo sheet "Mar".
    Ciao, Brainjar

  5. #5

    Ok

    Sono riuscito a farlo funzionare con questa sintassi

    appExcel.Worksheets("Mar").Select
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    .Activate è lo stesso. Anzi .Select è utilizzato per selezionare un range ed ha come effetto
    'collaterale' in mancanza di un range, quello di attivarti, comunquel lo sheet.

    1: How to Select a Cell on the Active Worksheet
    To select cell D5 on the active worksheet, you can use either of the following examples:


    ActiveSheet.Cells(5, 4).Select

    -or-

    ActiveSheet.Range("D5").Select


    2: How to Select a Cell on Another Worksheet in the Same Workbook
    To select cell E6 on another worksheet in the same workbook, you can use either of the following examples:


    Application.Goto (ActiveWorkbook.Sheets("Sheet2").Cells(6, 5))

    -or-

    Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))


    Or, you can activate the worksheet, and then use method 1 above to select the cell:

    Sheets("Sheet2").Activate
    ActiveSheet.Cells(6, 5).Select

    Leggi su MSDN l'articolo : Q120198.
    Ciao, Brainjar

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.