PDA

View Full Version : [VB6] Cambiare foglio in EXCEL


OrcaAssassina
25-01-2007, 08:22
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

yorkeiser
25-01-2007, 08:54
L'istruzione č giusta, ma č una semplice assegnazione di un oggetto, non stai dicendo al VBA di fare anche il display del foglio. Per far ciņ, esiste sicuramente qualche funzione VBA; prova ad aggiungere

Worksheets("Mar").Select

oppure vedi se esiste un Worksheets("Mar").SetFocus
o qualcosa del genere; se non vanno cerca nel reference del VBA la funzione da te desiderata

OrcaAssassina
25-01-2007, 11:14
L'istruzione č giusta, ma č una semplice assegnazione di un oggetto, non stai dicendo al VBA di fare anche il display del foglio. Per far ciņ, esiste sicuramente qualche funzione VBA; prova ad aggiungere

Worksheets("Mar").Select

oppure vedi se esiste un Worksheets("Mar").SetFocus
o qualcosa del genere; se non vanno cerca nel reference del VBA la funzione da te desiderata


Sono riuscito a farlo funzionare con questa sintassi

appExcel.Worksheets("Mar").Select