Microsoft Excel

Herbers Excel/VBA-Archiv

Pivot Tabelle Pad ändern | Herbers Excel-Forum


Betrifft: Pivot Tabelle Pad ändern von: Stu
Geschrieben am: 30.11.2009 16:02:29

Hallo,

ich habe in einer Exceldatei "1" eine Pivottabelle, die auf Daten einer anderen Exceldatei "2" (mehrere Tabellenblätter) zurückgreift. Nun hat sich der Name der Datei "2" in "3" geändert. Da sich der Pfad der Verknüpfung nicht automatisch anpasst, möchte ich den gerne manuelle ändern. Geht das und wenn ja wie? Wenn ich über den "Assistenten, Auswahl zurück" gehe und den Punkt "Daten importieren" auswähle bekomme ich die Fehlermeldungen "Microsoft Query - Diese Abfrage kann mit dem Abfrage-Assistent nicht bearbeitet werden". Danach öffnet sich Microsoft Query, ich habe aber dort nirgends die Möglichkeit einen Pfad zu sehen bzw. zu ändern. Wer kann mir helfen? Vielen Dank.

Gruß

W.

  

Betrifft: Ja, das geht - Datei hochladen ? von: NoNet
Geschrieben am: 30.11.2009 17:45:11

Hallo W.,

ich habe mich schon mehrmals ausgiebig mit diesem Thema beschäftigt und habe meist eine Lösung gefunden. Den Lösungsweg zu beschreiben ist allerdings viel zu aufwendig - zumal er vom der Art der Datenquelle der PIVOT-Tabelle abhängt.

Kannst Du mal eine (reduzierte) Version Deiner Datei hochladen ? Diese könnte ich dann analysieren und Dir mitteilen, wie Du die Quelle ändern kannst.

Gruß, NoNet


  

Betrifft: AW: Ja, das geht - Datei hochladen ? von: Stu
Geschrieben am: 30.11.2009 19:40:37

Hallo,
Danke für Dein Hilfsangebot. Ich kann die Dateien leider nicht hochladen, da es sich um Firmendaten handelt. Darüber hinaus würde mich schon interessieren ob und wie das geht. Bei Verknüpfungen mit Access Dateien habe ich im Forum schon Lösungsansaätze gefuden, leider funktionieren die nicht für zwei Exceldateien. Trotzdem Danke.

Gruß

W.


  

Betrifft: Datei mit DUMMY-Daten nachbauen von: NoNet
Geschrieben am: 30.11.2009 20:58:15

Hallo W.,

ich verstehe, dass Du interne Daten nicht einfach so nach außen geben darfst. Aber kannst Du die Datei nicht einfach mit irgendwelchen DUMMY-Daten ("Karl", "Hans", "Fritz", "Heinz", 0815, 0816, 0817, 4711, 4712, 4713 etc.) nachbauen und diese hochladen ? - Es geht mir ja um die Analyse der Datenquelle und nicht um die darn enthaltenen Daten ;-)

Das Prozedere, WIE ich diese Daten analysiere (per VBA) ist wirklich sehr aufwendig (vor allem auch, dieses Verfahren zu erklären !) und ohne entsprechenden VBA-Hintergrund kaum zu verstehen....

Gruß, NoNet


  

Betrifft: AW: Datei mit DUMMY-Daten nachbauen von: Stu
Geschrieben am: 01.12.2009 08:12:13

Hallo,

ich habe entsprechende Mustertestdateien einmal hochgeladen:

Auswertung: https://www.herber.de/bbs/user/66295.xls
Daten: https://www.herber.de/bbs/user/66296.xls

Hinweis: Die Verknüpfung der Auswertungsdatei mit der Datendatei funktioniert natürlich nicht, da die Auswertugsdatei immer noch mit der Originaldatendatei bei uns auf dem Server verknüft ist.

Außerdem musste ich ein paar Tabellenblätter der Datendatei löschen, da die Datei ansonsten für den Upload zu groß war.

Falls möglich möchte ich gerne in Zukunft bei Bedarf die Verknüpfung der Pivottabelle der Auswertungsdatei mit allen Tabellenblättern der Datendatei anpasssen können, und zwar den Pfad (Laufwerksbuchstabe inkl. Dateiname der Datendatei). Wäre Klasse wenn das gehen würde.

Danke.

Gruß

W.


  

Betrifft: PIVOT-Datenquelle (ODBC) per VBA ändern von: NoNet
Geschrieben am: 01.12.2009 13:48:53

Hallo W.,

was ich aus Deinen Beispieldateien herauslesen konnte :

Die "Auswertung" ist mit den Daten der Mappe "Daten" per ODBC verknüpft.
Der Verknüpfungsstring lautet :

ODBC;DSN=Excel-Dateien;DBQ=H:\TABELLEN\66\664\6647\664711_Kläranlagen\664711KA-Analysen\ _
6647KA_Test.xls;
DefaultDir=H:\TABELLEN\66\664\6647\664711_Kläranlagen\664711KA-Analysen;DriverId=790;MaxBufferSize=2048;PageTimeout=5;

Genau hier muss man ansetzen : Im ODBC-Verknüpfungsstring mus man den Dateinamen
H:\TABELLEN\66\664\6647\664711_Kläranlagen\664711KA-Analysen\6647KA_Test.xls
durch den gewünschten Dateinamen ersetzen.
Das kann man mit folgendem Makro erreichen (hier : Datei "S:\Daten\Ordner\....\" - bitte anpassen !)

Makro bitte in ein allgemeines Modul (z.B. "Modul1") im VBA-Editor kopieren :
Sub PivotQuelleODBCAendern()
    'Ändert die Datenquelle des ersten PIVOT-Caches der Mappe
    'Gilt nur für PIVOT-Tabellen, deren Quelle per ODBC mit anderer Mappe verknüpft ist !
    '01.12.2009, NoNet - www.excelei.de (z.Zt. OFFLINE !)
    Dim strConn As String, strQuelleAlt As String, strQuelleNeu As String
    
    If ActiveWorkbook.PivotCaches(1).SourceDataFile <> "" Then
        strQuelleAlt = ActiveWorkbook.PivotCaches(1).SourceDataFile
    Else
        strConn = ActiveWorkbook.PivotCaches(1).Connection
    End If
    
    strQuelleAlt = Mid(strConn, InStr(strConn, "DBQ=") + 4, InStr(strConn, ";DefaultDir=") -  _
InStr(strConn, "DBQ=") - 4)
    
    'Falls Quelldatei in beliebigem Ordner unter beliebigem Namen gespeichert ist :
    'strQuelleNeu = "S:\Daten\Ordner\Quelldaten\Quelle 2009-11-30.xls"
    
    'Falls Quelldatei im gleichen Ordner liegt wie die Auswertungsdatei und Dateiname gleich  _
bleibt, dann diese Variante :
    strQuelleNeu = ActiveWorkbook.Path & "\" & Split(strQuelleAlt, "\")(UBound(Split( _
strQuelleAlt, "\")))
    
    strConn = Replace(strConn, strQuelleAlt, strQuelleNeu)
    'strConn = Replace(strConn, "Excel-Dateien", "Excel Files") 'falls englische Excel-Version ! _

    ActiveWorkbook.PivotCaches(1).Connection = strConn
End Sub
Testen konnte ich das allerdings nur ansatzweise mit Deinen Dateien, da die Auswertung auf Daten zugreift, die in der "Daten"-Datei nicht mehr existieren (wie von dir beschrieben : gelöscht).

Dies geht auch aus dem SQL-String der PIVOT-Abfrage hervor :
SELECT Kläranlagen.Kläranlage, Kläranlagen.Art, Kläranlagen.Betreiber, 
Kläranlagen.Parameter, Kläranlagen.`ÜW min`, Kläranlagen.`ÜW max`, 
Kläranlagen.`Zus#`, Kläranlagen.Messwert, Kläranlagen.Einheit, 
Kläranlagen.Prüfdatum, Kläranlagen.Labor, Kläranlagen.`Prüfer `, 
Kläranlagen.`Vergleich ÜW/MW`, Kläranlagen.Ergebnis, 
Kläranlagen.`Abw#Abgabe`, Kläranlagen.Jahr, Kläranlagen.Analyseverfahren, 
Kläranlagen.`Anhang (AbwV)`, Kläranlagen.`GK n# Anh# 1 AbwV`, 
Kläranlagen.MA, Kläranlagen.`Probe für KA-Schau`, 
Kläranlagen.`KA-Schau (Jahr)`  
FROM Kläranlagen Kläranlagen  
Union select* from Beneke Beneke 
Union select* from Damme Damme
Union select* from Dinklage Dinklage
Union select* from Goldenstedt Goldenstedt
Union select* from Hagola Hagola
Union select* from Holdorf Holdorf
Union select* from LNordlohne LNordlohne
Union select* from LRießel LRießel
Union select* from Nietfeld Nietfeld
Union select* from Ovobest Ovobest
Union select* from SDüpe SDüpe
Union select* from SHonkW SHonkW
Union select* from Siemer Siemer
Union select* from Stolle Stolle
Union select* from Vechta Vechta
Union select* from Visbek Visbek
Teste das Makro doch bitte für diese Dateien und gib hier eine kurze (Mis-)Erfolgsmeldung als Feedback. Danke.

Gruß, NoNet


  

Betrifft: AW: PIVOT-Datenquelle (ODBC) per VBA ändern von: Stu
Geschrieben am: 01.12.2009 14:42:22

Hallo NoNet,

habe das Makro gerade einmal ausprobiert. Es klappt perfekt und erleichtert mir die Anpassug sehr! Danke schön!

Gruß

W.


  

Betrifft: zu von: na dann...
Geschrieben am: 03.12.2009 17:48:38

zu


Beiträge aus den Excel-Beispielen zum Thema "Pivot Tabelle Pad ändern"