Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Tabellenverknüpfung innerhalb eines Netzwerkes, Pivot-Tabelle!?

Frage Microsoft Microsoft Office

Mitglied: d4shoerncheN

d4shoerncheN (Level 2) - Jetzt verbinden

20.04.2012, aktualisiert 10:42 Uhr, 5247 Aufrufe, 15 Kommentare

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
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ß
Mitglied: mak-xxl
20.04.2012 um 09:01 Uhr
Moin d4shoerncheN,

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!

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.

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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 09:06 Uhr
Vielen Dank für die schnelle Antwort.

Das ist doch nicht verkehrt, weil 'keine Daten' -> '0' ist eine Aussage (die man mit 'Nullwerte nicht anzeigen' abstellen kann.
Ah, okay. Das wusste ich nicht, das werde ich mir gleich mal angucken. Wobei mir die Pivot, aufgrund der Formatierung und Übersicht, besser gefallen würde.

Du arbeitest aber nur mit Excel-Tabellen?!
Das ist korrekt.

Was heißt das?
Als Provider gibt es ja mehrere Varianten, einige funktionieren mit den Admin-Logindaten und manche nicht. Wenn es hilfreich ist, kann ich gerne alle auflisten und hinter schreiben, ob Test klappte oder nicht.
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 09:14 Uhr
Moin d4shoerncheN,

Zitat von d4shoerncheN:
... 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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 09:19 Uhr
Habe die Variante mit den Verknüpfungen nun erst einmal so gemacht und die Nullwerte ausgeblendet. Optisch scheint es so ja "okay" zu sein, nur sehe ich nun noch folgendes Problem. Die 0-Werte werden zwar nicht angezeigt, trotzdem wären alle Zellen mit einer Formel belegt, was den Speicherplatz enorm anhebt, oder nicht?
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 09:40 Uhr
Moin d4shoerncheN,

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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 09:50 Uhr
Moin, mak-xxl.

Das wäre super, wenn du mir da helfen könntest. Ich erkläre dir auch erstmal worum es in den Excel-Dateien überhaupt geht. Es ist eine E-Mail Adressensammlung für ein Newsletter. Jeder User hat seine eigenen Interessenten.

Die Excel-Dateien der User sind alle gleich aufgeteilt
E-Mail Adresse Vorname Nachname Firma
emailadresse vorname nachname firma

Die Master-Datei soll nun eine Auflistung von ALLEN E-Mail Adressen der Benutzer erstellen. Momentan besteht die Master-Datei aus verschiedenen Reitern. Ein Reiter "Übersicht" wo alle E-Mail Adressen der Benutzer untereinander aufgelistet werden sollen (da hänge ich momentan auch). Und je ein Reiter pro Benutzer, dass der Admin noch einmal gucken kann, welche E-Mail Adresse von welchem Benutzer kommt.
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 10:11 Uhr
Moin d4shoerncheN,

Zitat von d4shoerncheN:
E-Mail Adresse Vorname Nachname Firma
emailadresse vorname nachname firma

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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 10:16 Uhr
Also Spalte A soll jeweils importiert werden? Excel <> 2k7?
Genau. Oh stimmt, habe ich vergessen zu erwähnen. Tut mir Leid, verwendet wird Office 2010.

'Reiter' = Tabellenblatt?
Korrekt.

Anzahl Benutzer? Wie sind diese erreichbar - sprich: Link auf Einzelplatz, Share auf (selbem) Server etc.?
Sind vier verschiedene Benutzer. Ja, sind alle auf einem Terminalserver und legen Ihre Dateien auf einer Partition (F) ab.

Habe momentan ein Tabellenblatt pro Benutzer, wo die E-Mail Adressen auch alle schön aufgelistet werden. 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.
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 10:28 Uhr
Moin d4shoerncheN,

Zitat von d4shoerncheN:
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.

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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 10:33 Uhr
Hallo,

das hat den Grund - da diese E-Mail Adressen (gesamt als .csv-Datei) weitergegeben werden. Wenn er nun die E-Mail Adressen aus Tabellenblatt 2 und 3 untereinander auf Tabellenblatt 1 schreiben würde, bräuchte man nur noch die Spalte A:A aus Tabellenblatt 1 als .csv abspeichern, ohne von Hand alle E-Mail Adressen zu kopieren und untereinander anzufügen.

Generell bräuchte ich die Tabellenblätter der User in der Master-Datei nicht. Wichtig ist nur, dass in der Master-Datei halt ALLE E-Mail Adressen der User-Dateien untereinander aufgelistet werden, damit man sie direkt als .csv exportieren kann.

Sollte quasi so aussehen:

Übersicht User 1 User 2
Blindtext 1 Blindtext 1 Blindtext 4
Blindtext 2 Blindtext 2 Blindtext 5
Blindtext 3 Blindtext 3
Blindtext 4
Blindtext 5
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 11:04 Uhr
Moin d4shoerncheN,

Zitat von d4shoerncheN:
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:

01.
Sub CommandButton1_Click() 
02.
    Dim i As Integer, z As Long 
03.
    Dim strContent As String, strDelims As String 
04.
    Dim CSVFile As String 
05.
    strDelims = ";"                                                                     ' Trenner für csv 
06.
    CSVFile = "AllUserMail.csv" 
07.
    With Application.ThisWorkbook 
08.
        For i = 2 To .Sheets.Count                                                      ' alle Blätter außer 1. 
09.
            For z = 1 To .Sheets(i).Range("A" & Rows.Count).End(xlUp).Row               ' Spalte A, soweit belegt 
10.
                If .Sheets(i).Cells(z, 1) <> Empty Then                                 ' evtl. Leerzeilen nicht 
11.
                    strContent = strContent & .Sheets(i).Cells(z, 1).Text & strDelims   ' jeden Zellinhalt 
12.
                End If 
13.
            Next z 
14.
        Next i 
15.
    End With 
16.
    Open CSVFile For Output As #1                                                        ' csv-datei (über-)schreiben ... 
17.
        Print #1, strContent 
18.
    Close #1 
19.
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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 11:19 Uhr
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.

Aber schon mal vielen vielen Dank
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 11:25 Uhr
Moin d4shoerncheN,

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.

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
Bitte warten ..
Mitglied: d4shoerncheN
20.04.2012 um 11:30 Uhr
Perfekt, super!

MIR ist die optische Ansicht nicht wichtig, allerdings den Leuten die die .csv-Datei bekommen. Ich danke dir vielmals.

Wünsche dir ein schönes Wochenende.
Bitte warten ..
Mitglied: mak-xxl
20.04.2012 um 11:34 Uhr
Moin d4shoerncheN,

ebenfalls ein schönes, sonniges, arbeitsarmes Wochenende sei gewünscht - Mario
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft Office
Pivot Tabelle schützen ohne Datenabschnitt (1)

Frage von lupi1989 zum Thema Microsoft Office ...

Server
gelöst SQL-Tabelle portieren und dabei Daten konvertieren (1)

Frage von menace zum Thema Server ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Microsoft Office
Fahrer Analyse Tabelle (Palletenzeit pro, min.) in EXCEL13 (3)

Frage von kluthi69 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (10)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...