Imam 2 radne sveske A i B. U svesci A nalaze se dva lista Baza i Pivot Table1. Kako bih mogao da iz sveske B postavljanjem dugmeta sa kojim bi (pritiskom na njega pomocu makroa) bili osvezeni podaci u Pivot Tabeli, ali bez otvaranja sveske A.
[Excel] Osvezavanje Pivot tabele bez otvaranja te sveske
Zaključano
Zakačeno
Nisam siguran da je nemoguće ali je dosta komplikovano. Svi podaci u Excel tabeli (pa i pivot) pre verzije 2007 zapisani su u binarnom formatu koji nije (lako) čitljiv dok ne otvoriš radnu svesku. U verziji 2007 format je XML što je mnogo čitljivije, ali ažuriranje pivot tabele podrazumeva uspostavljanje konekcije i izvršenje odredjenog upita koji je smeštene u radnoj svesci što opet komplikuje sitaciju. Mnogo jednostavnije je da otvoriš radu svesku u skrivenom prozoru, i onda osvežiš podatke i zapamtiš radnu svesku.
Ne znam čemu bi to služilo. Zar nije jednostavnije da na događaj Worksheet_Activate osvežiš pivot tabelu na aktiviranom listu?
Za primere koda za rad sa pivot tabelama možeš downloadovati Charpter 4 sa adrese http://www.ozgrid.com/BookExamples/excel-hack-examples.htm
Ne znam čemu bi to služilo. Zar nije jednostavnije da na događaj Worksheet_Activate osvežiš pivot tabelu na aktiviranom listu?
Za primere koda za rad sa pivot tabelama možeš downloadovati Charpter 4 sa adrese http://www.ozgrid.com/BookExamples/excel-hack-examples.htm
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re,
mozda ovaj odgovor nece imati nikakve koristi ali svejedno vredi pokusati.
Mislim da Peca ce moci adaptirati ovu kodu kojusam pronasao na jednom od foruma u FR,
i koja sluzi za importovanje podataka iz zatvorene radne sveske bez njenog otvaranja.
Inace postoje i druge varijante sa ovim ADO
Pozdrav
mozda ovaj odgovor nece imati nikakve koristi ali svejedno vredi pokusati.
Mislim da Peca ce moci adaptirati ovu kodu kojusam pronasao na jednom od foruma u FR,
i koja sluzi za importovanje podataka iz zatvorene radne sveske bez njenog otvaranja.
Inace postoje i druge varijante sa ovim ADO
Pozdrav
Code:
Attribute VB_Name = "ADOImporterFeuilleEntiere"
'uneti podatke radnog lista iz zatvorene radne sveske
'(samo su podaci importirani, Ne njihovi karakteri npr Bold, Italic itd. )
Sub testQuery()
fich$ = "D:\ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'obavezno cekiranje referencije
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Napraviti lanac za konekciju
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' rekete je bazirana na ime radnog lista. To ime
' treba dase zavrsava sa $ i treba biti izmedju ovih zagrada
' Adaptirati ime prema potrebi
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Proveriti dalisu informacije stigle
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Nema nikakvih informacija.", vbCritical
End If
''' Zapisivanje za kraj...
rsData.Close
Set rsData = Nothing
End Sub
''' Sa izvinjenjem na ovom divljem prevodu
Attribute VB_Name = "ADOImporterFeuilleEntiere"
'uneti podatke radnog lista iz zatvorene radne sveske
'(samo su podaci importirani, Ne njihovi karakteri npr Bold, Italic itd. )
Sub testQuery()
fich$ = "D:\ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'obavezno cekiranje referencije
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Napraviti lanac za konekciju
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' rekete je bazirana na ime radnog lista. To ime
' treba dase zavrsava sa $ i treba biti izmedju ovih zagrada
' Adaptirati ime prema potrebi
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Proveriti dalisu informacije stigle
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Nema nikakvih informacija.", vbCritical
End If
''' Zapisivanje za kraj...
rsData.Close
Set rsData = Nothing
End Sub
''' Sa izvinjenjem na ovom divljem prevodu
Potpis
Nepostoje idiotska pitanja, samo idioti ne postavljaju pitanje !!!