3.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo erst ein mal !!!

habe da ein problemm und komme nicht weiter.....

ich habe eine tabelle mal als beispiel....
die werte in A1 bis A3 sind meine vorhandenen werte.
den wert in A4 suche ich.die zahlenfolge in A1 bis A... (Vorgang)
sind alles nahmen von Exceldatein und aus diesen datein brauche
ich aus tabelle z.b.3 den wert aus D66 ist das irgen wie möglich !!!

A1 A2 A3 A4


1) Vorgang Kunde Lt. Werte

2) 01-0100-01 Alfa 15.4.09
3) 01-0100-02 Beta 15.5.09
4) 01-0100-03 Omega 14.6.09
5) 01-0100-04 XY 20.6.09
6)
7)
8)
9)
.
.
.
.

danke schon mal für eure mühe
gruß nero.

12 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi nero ^^

wie gewünscht :-))

gruss nighty

Spalte A=Dateinamen

Spalte B=Ausgabe

Auszulesende zelle A1

WorksheetName="Tabelle1"

Aufgliederung
R1C1=Row1,Column1=Zeile1,Spalte1

da der code recht kurz ist,duerfte er leicht anzupassen sein

Sub DateienLesen()
Dim ZellPos As Range
For Each ZellPos In Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
Range("B" & ZellPos.Row) = ExecuteExcel4Macro("'C:\Temp\" & "[" & ZellPos & ".xls]Tabelle1" & "'!" & Range("A1").Address(, , xlR1C1))
Next ZellPos
End Sub
0 Punkte
Beantwortet von
hallo nighty !!

Danke schon mal für deine hilfe..!!!

aber geht es auch automatisch...?? jatzt muß ich ja noch die exceldatei suchen.

also ich möchte nur in z.b. A3 den nahmen der exceldatei eingeben ( 01-0100-01 )

und dan soll er mir aus dieser datei aus tabelle 1 D66 den wert ausgeben.

gruß nero
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo nero,
hab dir mal dazu eine Musterdatei erstellt.

Laufwerksbuchstaben (G) im Makro wo die Dateien gespeichert sind ändern.
Blattname, Zelle und Datei eintragen.
Ausgabe erfolgt in der Aktiven Zelle.

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

was wuerde denn dagegen sprechen a1 durch d66 zu ersetzen ?

ist denn der standort unbekannt ?

gruss nighty
0 Punkte
Beantwortet von
Hallo nighty.

also ich glaube ich habe es nicht richtig erklärt...

also in A3 bis A 2000 ca. stehen die nahmen der exceldatein... die schon eingetragen sind.
jetzt möchte ich aus jeder datei aus tabelle 1 G66 den wert in meiner tabelle z.b. B3 bisB2000

und das alles automatich ohne ein button zu betätigen !

geht das überhaupt???

gruß nero..
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi nero ^^

exel4 function(nur bei kleineren datenmengen einsetzbar,ansonsten dateien oeffnen) und dateien suchen sind beides sehr zeitintensive befehle und so nicht ratsam einzusetzen

was wuerdest du denn davon halten wenn beim oeffnen einer datei die daten eingelesen werden ?

nun zum standort der dateien !

Thisworkbook.path
haetten wir den Pfad der zuvor geoeffneten datei,vielleicht reicht ja das schon

ansonsten waere es sehr von vorteil allen beteiligten zu bitten ein und den selben ordner zu benutzen

gruss nighty
0 Punkte
Beantwortet von
Hallo nighty !!!

also ich möchte es vermeiden das ich jede datei noch mal öfnen muß !
da die datein alle im selben ordner liegen.... ich benötige auch nur ein mal
die werte aus den datein.

ich dacht vieleicht geht es so aber leider auch nicht.....

D3='C:\Excel\Test\[A3.xlsm]Test'!D66

wo A3.xlsm steht solte er eigendlich auf den wert aus zelle A3 zurück greifen
da der nahme der exceldatei da steht...

wen es nicht klappen sollte trotzdem vielen dank für eure hilfe

gruß nero022
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi nero ^^

probier das mal,ob es dir gefaellt :-)

gruss nighty

einzufuegen alt+f11/projektexplorer/DeineArbeitsmappe

Private Sub Workbook_Open()
Call DateienLesen
End Sub


einzufuegen alt+f11/projektexplorer/AllgemeineModul

Sub DateienLesen()
Dim ZellPos As Range
For Each ZellPos In Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
Range("B" & ZellPos.Row) = ExecuteExcel4Macro("'C:\Temp\" & "[" & ZellPos & ".xls]Tabelle1" & "'!" & Range("D66").Address(, , xlR66C4))
Next ZellPos
End Sub
0 Punkte
Beantwortet von
Hallo nighty !!!

also das ist was ich gesucht habe, jetzt habe ich aber noch ein problem...
die werte die in spalte A stehen sind Formelwerte...
die wiederrum aus einer anderren tabelle kommen...
wen ich sie von hand eingebe klapt es.

gibt es dafür noch eine lösung...

danke noch mals für deine hilfe !!!!!!

gruß nero.
0 Punkte
Beantwortet von
Habe es jetzt doch hibekommen !!!

aber ist es auch möglich wenn in den zellen ( Spalte A ) eine 0 steht das er
sie nicht überprüft....

gruß nero022 !!!
...