6.8k Aufrufe
Gefragt in Tabellenkalkulation von nero022 Mitglied (179 Punkte)
hallo erst ein mal,ich habe da eein problemm.
ich möchte daten aaus anderren excel tabellen hollen z.b
ich trage in spalte A1:A100 den namen der excel tabelle ein
10-0110 und dann soll er mir aus dieser excel tabelle die immer im
gleichen ordener liegt die werte aus tabelle1 Q27 hollen
und in spalte B1:B100 eintragen.
aber aus einer geeschlossenen arbeitsmappe.

Danke euch schon mal für die hilfe.

24 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
ich vermute das geht nicht da du den Tabellennamen (ich hätte gesagt Dateiname) ändern möchtest.

Gruß Hajo
0 Punkte
Beantwortet von nero022 Mitglied (179 Punkte)
ich habe da was im netz gefunden aber irgend wie geht das nicht
oder ich mache was falsch...???

Sonstige (7) ->

Auf Zellwert mehrerer geschlossener Dateien zugreifen


Aufgabe
Du hast einen Ordner mit vielen Dateien, die alle den gleichen
Aufbau haben. Nun willst Du aus jeder Datei den Wert einer immer
gleichen Zelle abfragen ohne alle Dateien öffnen zu müssen.
In A1 steht die Pfadangabe (mit abschließendem Backslash), in A2
bis A100 die Dateinamen.

A B
1 C:\Ordner-RG-2005\
2 Rechnungen-Jan-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Jan-05.xls]Tabelle'!$A$1
3 Rechnungen-Feb-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Feb-05.xls]Tabelle'!$A$1
4 Rechnungen-Mrz-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Mrz-05.xls]Tabelle'!$A$1
5 Rechnungen-Apr-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Apr-05.xls]Tabelle'!$A$1
6 Rechnungen-Mai-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Mai-05.xls]Tabelle'!$A$1
7 Rechnungen-Jun-05.xls ='C:\Ordner-RG-2005\
[Rechnungen-Jun-05.xls]Tabelle'!$A$1

Lösung
Schreibe in B2 =" ='"&A$1&"["&A2&"]"&"Tabelle'!$A$1"
und kopiere die Formel nach unten.
Dann die Formeln von B2:B100 durch Werte ersetzen, mit
Bearbeiten>Kopieren; Bearbeiten>Inhalte Einfügen...Werte
Nun Selektiere B2:B100 und wähle
Bearbeiten>Ersetzen
Suchen nach:" ="(Leerzeichen & Gleichheitszeichen)
Ersetzen durch:"="(Nur Gleichheitszeichen)
(Nun werden die Zellen berechnet, wenn nichts schief läuft.)

Dann nochmal die Formeln durch Werte ersetzen und fertig.
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Obwohl ich den praktischen Nutzen nicht verstehe folgender Vorschlag:

Von A1 bis A100 stehen die Verknüpfungen:

z.B. A1:

='C:\Dokumente und Einstellungen\Administrator\Desktop\[Mappe2.xls]Tabelle1'!$Q$27

Wobei ab A2 bis A100 jeweils nur der Dateiname angepasst werden müsste, Tabelle 1 Q27 ist ohnehin immer gleich und auch der Ordner (Pfad).

In B1 folgende Formel (runterkopierbar):

=WENN(A1='C:\Dokumente und Einstellungen\Administrator\Desktop\[Mappe2.xls]Tabelle1'!$Q$27<>"";A1;"")

Zellbezüge sind natürlich anzupassen

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo nochmals,

in B1 reicht:

=WENN(A1<>"";A1;"")

sonst würde das ganze überhaupt nichts bringen

Gruß

Paul1
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

welche Excel vesion denn ^^

da ich xls sehe vielleict eine ältere variante ,dann wären obige vorschläge sinnlos ^^

weiss allerdings auch nicht ab welcher Version aus geschlossenen Dateien gelesen werden kann

glaub erst ab 10 oder

gruss nighty
0 Punkte
Beantwortet von nero022 Mitglied (179 Punkte)
hallo erst ein mal danke für die antworten von euch !!!!!!!!!!!!!!!!!!!!!!!!!!
also die formel von oben geht so leider nicht... !
also ich meinte es so,ich habe eine hauptdatei mit dem namen
z.b
monatsabschluß.xlsm
dann gibt es verschidene datein mit dem namen
10-0110.xlsm
10-0111.xlsm
10-0112.xlsm
10-0113.xlsm
........und so weiter...!
nun möchte ich aus diesen datein wenn ich in meiner haupt datei ab
zelle A1 bis A100
den dateinamen von hand eintragen
z.b in A1 10-0110 nun möchte ich das er mir aus dieser datei aus
tabelle1
zelle Q27 den wert in B1 meiner hauptdatei einträgt
die zellen A1 bis A100 äderre ich immer wieder..!!

es geht um excel 2007
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Ich bin dann raus

Gruß

Paul1
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo nero022,

nach meinem Verständnis geht das nur unter Einsatz der Tabellenfunktion INDIREKT().
Aber........das hat zur Folge, dass alle am Unternehmen beteiligten Arbeitsmappen geöffnet sein müssen, was Du wahrscheinlich nicht willst.

Folglich musst Du einer VBA-Lösung ins Auge fassen, wobei ich nicht zur Verfügung stehe.
Hier gibt es aber genügend diesbezügliche Spezialisten.
Vielleicht meldet sich einer, der Dir hilft.

Gruß
Rainer
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ein Beispiel :-)

gruss nighty

einzufuegen
alt+f11
projektexplorer>deine Tabelle

spalte a Dateiname
spalte b ausgabe

pfad wie endung ist anzupassen

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("D:\TEMP\" & Range("A" & Target.Row) & ".xls") = True Then
Range("B" & Target.Row).Value = ExecuteExcel4Macro("'D:\TEMP\[" & Range("A" & Target.Row) & ".xls]Tabelle1'!R2C1")
Else
Range("A" & Target.Row).Value = "?"
Range("B" & Target.Row).Value = "?"
End If
End If
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-)

wie immer schusselig hihi

R2C1 bei diesem abschnitt ist die auszulesende zelle angegeben

R =row
2=zeilennummer
C=column
1=columnnummer

gruss nighty
...