Tabellenverknüpfung innerhalb eines Netzwerkes, Pivot-Tabelle!?
Guten Morgen, liebe Community.
Ich bräuchte einmal Eure Hilfe, ich stehe vor folgendem Excel-Problem.
Ich möchte mir eine "Master"-Excel-Datei erstellen, die mit anderen Excel-Dateien verknüpft ist. Der Aufbau ist wie folgt:
Master-Excel-Datei
User-Excel-Datei
Jeder Benutzer hat seine eigene Excel-Datei, in der Master-Datei sollen nur bestimmte Werte wieder gegeben werden. In dem Fall jeweils nur die Spalte A:A.
Versucht habe ich es mit einer einfachen Verknüpfung, was soweit auch funktioniert. Hier ist das Problem, dass leere Zeilen in der User-Datei mit Nullen in der Master-Datei gefüllt werden! Schöner finde ich die Variante mit der Pivot-Tabelle und da stoße ich nun auf Schwierigkeiten.
Unter "Daten" wollte ich eine Verbindung zu den verschiedenen Excel-Tabellen herstellen. Wähle ich die jeweiligen Dateien in den User-Verzeichnissen aus, kommt ein Assistent wo ich Provider und Logindaten (wo ich die Administrator-Logindaten verwendet habe) eintragen kann. Allerdings bringt der Verbindungstest keinen Erfolg. Als Provider ist standardmäßig "MS Office 12 Access Database Engine OLE DB Provider" gewählt. Wechsel ich den Provider, klappt der Verbindungstest teilweise. Allerdings nach Bestätigung sagt er, dass keine Daten vorhanden sind.
Speicher ich die Excel-Dateien lokal, funktioniert es. Hier machen anscheinend die User-Verzeichnisse ein Problem.
Könnt Ihr mir bei meinem Problem helfen?
Vielen Dank und lieben Gruß
Ich bräuchte einmal Eure Hilfe, ich stehe vor folgendem Excel-Problem.
Ich möchte mir eine "Master"-Excel-Datei erstellen, die mit anderen Excel-Dateien verknüpft ist. Der Aufbau ist wie folgt:
Master-Excel-Datei
Liegt in einem User-Verzeichnis, z.B. Admin und soll die Inhalte von anderen Excel-Dateien auflisten, die in anderen User-Verzeichnissen liegen.
Übersicht | User1 | User2 |
---|---|---|
1 | 1 | 4 |
2 | 2 | 5 |
3 | 3 | |
4 | ||
5 |
User-Excel-Datei
Liegt im jeweiligen User-Verzeichnis, welches nur vom Benutzer und vom Administrator aufrufbar ist.
Feld1 | Feld2 |
---|---|
1 | testtest |
2 | testtest |
3 | testtest |
Jeder Benutzer hat seine eigene Excel-Datei, in der Master-Datei sollen nur bestimmte Werte wieder gegeben werden. In dem Fall jeweils nur die Spalte A:A.
Versucht habe ich es mit einer einfachen Verknüpfung, was soweit auch funktioniert. Hier ist das Problem, dass leere Zeilen in der User-Datei mit Nullen in der Master-Datei gefüllt werden! Schöner finde ich die Variante mit der Pivot-Tabelle und da stoße ich nun auf Schwierigkeiten.
Unter "Daten" wollte ich eine Verbindung zu den verschiedenen Excel-Tabellen herstellen. Wähle ich die jeweiligen Dateien in den User-Verzeichnissen aus, kommt ein Assistent wo ich Provider und Logindaten (wo ich die Administrator-Logindaten verwendet habe) eintragen kann. Allerdings bringt der Verbindungstest keinen Erfolg. Als Provider ist standardmäßig "MS Office 12 Access Database Engine OLE DB Provider" gewählt. Wechsel ich den Provider, klappt der Verbindungstest teilweise. Allerdings nach Bestätigung sagt er, dass keine Daten vorhanden sind.
Speicher ich die Excel-Dateien lokal, funktioniert es. Hier machen anscheinend die User-Verzeichnisse ein Problem.
Könnt Ihr mir bei meinem Problem helfen?
Vielen Dank und lieben Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 183830
Url: https://administrator.de/forum/tabellenverknuepfung-innerhalb-eines-netzwerkes-pivot-tabelle-183830.html
Ausgedruckt am: 03.04.2025 um 20:04 Uhr
15 Kommentare
Neuester Kommentar
Moin d4shoerncheN,
Das ist doch nicht verkehrt, weil 'keine Daten' -> '0' ist eine Aussage (die man mit 'Nullwerte nicht anzeigen') abstellen kann.
Gut - ich würde hier aber strikt trennen: Datenimport per Verknüpfung <-> Pivot-Tabelle mit Bezug auf Import-Datenbestand.
Du arbeitest aber nur mit Excel-Tabellen?!
Was heißt das?
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
Versucht habe ich es mit einer einfachen Verknüpfung, was soweit auch funktioniert. Hier ist das Problem, dass leere Zeilen
in der User-Datei mit Nullen in der Master-Datei gefüllt werden!
Versucht habe ich es mit einer einfachen Verknüpfung, was soweit auch funktioniert. Hier ist das Problem, dass leere Zeilen
in der User-Datei mit Nullen in der Master-Datei gefüllt werden!
Das ist doch nicht verkehrt, weil 'keine Daten' -> '0' ist eine Aussage (die man mit 'Nullwerte nicht anzeigen') abstellen kann.
Schöner finde ich die Variante mit der Pivot-Tabelle und da stoße ich nun auf Schwierigkeiten.
Gut - ich würde hier aber strikt trennen: Datenimport per Verknüpfung <-> Pivot-Tabelle mit Bezug auf Import-Datenbestand.
... Allerdings bringt der Verbindungstest keinen Erfolg. Als Provider ist standardmäßig
"MS Office 12 Access Database Engine OLE DB Provider" gewählt.
"MS Office 12 Access Database Engine OLE DB Provider" gewählt.
Du arbeitest aber nur mit Excel-Tabellen?!
Wechsel ich den Provider, klappt der Verbindungstest teilweise.
Was heißt das?
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Nein, bloß nicht
Ich denke, eine einfache Verknüpfung ist stabil und ausreichend, wenn Verbindungseinschränkungen (i.e. Nichterreichbarkeiten) bestehen, kannst Du immer noch auf VBA ausweichen (i.e. Datenaktualisierungen nur bei Erreichbarkeit/Änderungen etc.). Wie die Daten ausgewertet werden (Pivot, Diagramm etc.) ist davon unabhängig zu machen, je nach Bedarf und Gusto.
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
... kann ich gerne alle auflisten und hinter schreiben, ob Test klappte oder nicht.
... kann ich gerne alle auflisten und hinter schreiben, ob Test klappte oder nicht.
Nein, bloß nicht
Ich denke, eine einfache Verknüpfung ist stabil und ausreichend, wenn Verbindungseinschränkungen (i.e. Nichterreichbarkeiten) bestehen, kannst Du immer noch auf VBA ausweichen (i.e. Datenaktualisierungen nur bei Erreichbarkeit/Änderungen etc.). Wie die Daten ausgewertet werden (Pivot, Diagramm etc.) ist davon unabhängig zu machen, je nach Bedarf und Gusto.
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Zitat von @d4shoerncheN:
Nun ja, wenn Du aber die Daten in dem Umfang importieren musst - will heißen, es könnte aber an diese Stelle auch ein von '0' verschiedener Wert stehen.
Die Formeln stehen intern als Bereichsnotation recht platzsparend, wenn, dann blähen die Daten die Mappe auf. Aber Du hast recht, mehrere 10k Formeln schaffen Megabytes ...
Die Datenverknüpfung vieler Tabellen lässt sich vereinfachen, indem ganze Bereiche importiert werden (Stichwort 'Bereichsnamen') - wenn also in der Quelle ('T1') ein Bereich 'A:F' den Namen 'AF' erhält, funktioniert in der Zieltabelle die Verknüpfung mit der Matrixformel {=T1!AF}, das spart ein paar Zeichen (je Formel). Dann wären da noch die benutzerdefinierten Funktionen ... Das geht aber auch in diese Richtung: Große Mengen Daten lassen sich viel leichter mit VBA importieren respektive verknüpfen - Beispiel gern auf Anfrage.
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
... alle Zellen mit einer Formel belegt, was den Speicherplatz enorm anhebt, oder nicht?
Nun ja, wenn Du aber die Daten in dem Umfang importieren musst - will heißen, es könnte aber an diese Stelle auch ein von '0' verschiedener Wert stehen.
Die Formeln stehen intern als Bereichsnotation recht platzsparend, wenn, dann blähen die Daten die Mappe auf. Aber Du hast recht, mehrere 10k Formeln schaffen Megabytes ...
Die Datenverknüpfung vieler Tabellen lässt sich vereinfachen, indem ganze Bereiche importiert werden (Stichwort 'Bereichsnamen') - wenn also in der Quelle ('T1') ein Bereich 'A:F' den Namen 'AF' erhält, funktioniert in der Zieltabelle die Verknüpfung mit der Matrixformel {=T1!AF}, das spart ein paar Zeichen (je Formel). Dann wären da noch die benutzerdefinierten Funktionen ... Das geht aber auch in diese Richtung: Große Mengen Daten lassen sich viel leichter mit VBA importieren respektive verknüpfen - Beispiel gern auf Anfrage.
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Also Spalte A soll jeweils importiert werden? Excel <> 2k7?
'Reiter' = Tabellenblatt?
Anzahl Benutzer? Wie sind diese erreichbar - sprich: Link auf Einzelplatz, Share auf (selbem) Server etc.?
Freundliche Grüße von der Insel - Mario
Also Spalte A soll jeweils importiert werden? Excel <> 2k7?
Die Master-Datei soll nun eine Auflistung von ALLEN E-Mail Adressen der Benutzer erstellen. Momentan besteht die Master-Datei aus verschiedenen Reitern.
'Reiter' = Tabellenblatt?
Und je ein Reiter pro Benutzer, dass der Admin noch einmal gucken kann, welche E-Mail Adresse von welchem Benutzer kommt.
Anzahl Benutzer? Wie sind diese erreichbar - sprich: Link auf Einzelplatz, Share auf (selbem) Server etc.?
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Dann hast Du doch die wesentlichen Probleme schon gelöst!?
Warum diese Doppelung (Redundanz) - das bringt keine neuen oder zusätzlichen Infos und bläht nur die Datei auf. Und bei 4 Usern das jeweilige Blatt anklicken, evtl. per Link von dieser Übersichtsseite ...
Gestalte die Übersichtsseite doch eher als Statistik - Anzahl Adressen je User, Anzahl gmx, web etc. pp., Mailadresse länger als x Zeichen, Mailadressen mit Umlauten, Leerzeichen usw.
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
Habe momentan ein Tabellenblatt pro Benutzer, wo die E-Mail Adressen auch alle schön aufgelistet werden.
Habe momentan ein Tabellenblatt pro Benutzer, wo die E-Mail Adressen auch alle schön aufgelistet werden.
Dann hast Du doch die wesentlichen Probleme schon gelöst!?
Nun habe ich nur das Problem, dass ich gerne die E-Mail Adressen der einzelnen Tabellenblätter (User) auf dem
Tabellenblatt (Übersicht) untereinander aufgelistet haben möchte.
Tabellenblatt (Übersicht) untereinander aufgelistet haben möchte.
Warum diese Doppelung (Redundanz) - das bringt keine neuen oder zusätzlichen Infos und bläht nur die Datei auf. Und bei 4 Usern das jeweilige Blatt anklicken, evtl. per Link von dieser Übersichtsseite ...
Gestalte die Übersichtsseite doch eher als Statistik - Anzahl Adressen je User, Anzahl gmx, web etc. pp., Mailadresse länger als x Zeichen, Mailadressen mit Umlauten, Leerzeichen usw.
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Wenn es nur das ist:
- Schaltfläche auf 1. Blatt einfügen,
- folgenden Code zufügen:
Damit werden aus allen User-Tabellen (außer Tabelle 1) die in Spalte 'A' stehenden Einträge fortlaufend in eine Datei (Zeile 6) geschrieben. Sollten die User-Tabellen eine Überschrift tragen, so ist in Zeile 9 der Startwert für z entsprechend anzupassen.
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
Hallo,
das hat den Grund - da diese E-Mail Adressen (gesamt als .csv-Datei) weitergegeben werden
Hallo,
das hat den Grund - da diese E-Mail Adressen (gesamt als .csv-Datei) weitergegeben werden
Wenn es nur das ist:
- Schaltfläche auf 1. Blatt einfügen,
- folgenden Code zufügen:
Sub CommandButton1_Click()
Dim i As Integer, z As Long
Dim strContent As String, strDelims As String
Dim CSVFile As String
strDelims = ";" ' Trenner für csv
CSVFile = "AllUserMail.csv"
With Application.ThisWorkbook
For i = 2 To .Sheets.Count ' alle Blätter außer 1.
For z = 1 To .Sheets(i).Range("A" & Rows.Count).End(xlUp).Row ' Spalte A, soweit belegt
If .Sheets(i).Cells(z, 1) <> Empty Then ' evtl. Leerzeilen nicht
strContent = strContent & .Sheets(i).Cells(z, 1).Text & strDelims ' jeden Zellinhalt
End If
Next z
Next i
End With
Open CSVFile For Output As #1 ' csv-datei (über-)schreiben ...
Print #1, strContent
Close #1
End Sub
Damit werden aus allen User-Tabellen (außer Tabelle 1) die in Spalte 'A' stehenden Einträge fortlaufend in eine Datei (Zeile 6) geschrieben. Sollten die User-Tabellen eine Überschrift tragen, so ist in Zeile 9 der Startwert für z entsprechend anzupassen.
Freundliche Grüße von der Insel - Mario
Moin d4shoerncheN,
Nun ja, wenn Dir die optische Ansicht eines csv-Files im Editor wichtig ist, dann nimm als Trennzeichen in Zeile 5
einen Zeilenumbruch - aber beim Einlesen daran denken!
Freundliche Grüße von der Insel - Mario
Zitat von @d4shoerncheN:
Vielen Dank, hat soweit auch gut geklappt. Er erstellt die .csv-Datei - allerdings fügt er dort alle E-Mail Adressen nebeneinander, statt untereinander an.
Vielen Dank, hat soweit auch gut geklappt. Er erstellt die .csv-Datei - allerdings fügt er dort alle E-Mail Adressen nebeneinander, statt untereinander an.
Nun ja, wenn Dir die optische Ansicht eines csv-Files im Editor wichtig ist, dann nimm als Trennzeichen in Zeile 5
strDelims = vbCr
einen Zeilenumbruch - aber beim Einlesen daran denken!
Freundliche Grüße von der Insel - Mario