Übernahem von Werten aus anderen Files

Hallo!

Ich arbeite in meiner Firma mit Excel 97.

ich habe ein file (file1) erstellt in dem in einer spalte aus einem anderen file (file2)werte hineingenommen werden. das problem ist folgendes

dieses file2 wird von einer sql db gespeist die täglich mittels buttom aktualisiert wird. das heißt die werte des vortages werden immer überschrieben.

nach dem übernehmen mache ich file1 auf (habe mittels makros es gschafft die werte zu übernhemen) und aktualisiere. Excel übernimmt brav die werte. n

das problem ist ich habe ja für jeden tag dieses file1 erstellt und es sollte natürlich immer die tagesaktuellen werte übernehmen und dann nimma ändern.

1-Nov 2-Nov 3-Nov 4-Nov usw

0 0 0 0
0.0% 0.0% 0.0% 0.0%
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

Übernahme Formel:
=‚F:\Pfad\Firma\Reports\Oktober\XXXXX[Auswertung.xls]Sheet1‘!$C$4

diese formel steht in jeder spalte da es ja im file2 immer die selbe spalte ist. wurscht welcher tag. im file1 sollte es nur dann tagesmäßig abgespeichert werden.

ich hoffe ich habe mich relativ klar ausgedrückt

bitte um hilfe

lg susanna

ich habe ein file (file1) erstellt in dem in einer spalte aus
einem anderen file (file2)werte hineingenommen werden. das
problem ist folgendes

dieses file2 wird von einer sql db gespeist die täglich
mittels buttom aktualisiert wird. das heißt die werte des
vortages werden immer überschrieben.

nach dem übernehmen mache ich file1 auf (habe mittels makros
es gschafft die werte zu übernhemen) und aktualisiere. Excel
übernimmt brav die werte. n

das problem ist ich habe ja für jeden tag dieses file1
erstellt und es sollte natürlich immer die tagesaktuellen
werte übernehmen und dann nimma ändern.

> 1-Nov 2-Nov 3-Nov 4-Nov usw  
>   
> 0 0 0 0  
> 0.0% 0.0% 0.0% 0.0%  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0  
> 0 0 0 0

Übernahme Formel:
=‚F:\Pfad\Firma\Reports\Oktober\XXXXX[Auswertung.xls]Sheet1‘!$C$4
diese formel steht in jeder spalte da es ja im file2 immer die
selbe spalte ist. wurscht welcher tag. im file1 sollte es nur
dann tagesmäßig abgespeichert werden.

Hallo lanadra,
zunächstmal ein Tipp, wenn du hier 'ne Tabelle postest dann schreibe vor die tablle

 und nach der Tabelle 

, dann bleiben die Leerzeichen erhalten, wie du oben an deiner Tabelle siehst.

das problem ist ich habe ja für jeden tag dieses file1 erstellt

Pro Tag ein File1? Pro Monat? Pro Jahr?(wobei dann 365Tage mit 256 Spalten kollidieren, also tabelle in zwei teile splitten o.ä.)

Übernahme Formel:
=‚F:\Pfad\Firma\Reports\Oktober\XXXXX[Auswertung.xls]Sheet1‘!$C$4
diese formel steht in jeder spalte…

Wenn deine Beispieltabelle im Bereich A1:smiley:13 steht welche Formeln stehen denn da in A1,A2,B1,B2 ? überall $c$4?

Wenn denn die Lösung ein Makro ist, wann/wodurch soll denn das Makro
ausgeführt werden, durch Klick auf Button in File1 oder durch Klick auf Button in File2 oder vollautomatisch beim Öffnen von file1 oder beim Öffnen von File2
Gruß
Reinhard

ups :smile:

zunächstmal ein Tipp, wenn du hier 'ne Tabelle postest dann
schreibe vor die tablle xxx und nach der Tabelle xxx ,
dann bleiben die Leerzeichen erhalten, wie du oben an deiner
Tabelle siehst.

hallo,
ging wohl schief mit dem pre-HTML-Tag. Ich wollte sagen, schreibe vor der Tabelle „pre“ und nach der Tabelle „/pre“, ohne Anführungszeichen aber mit Pfeil (die neben y) nach links direkt vor pre bzw /pre und Pfeil nach rechts direkt nach pre bzw. /pre
Gruß
Reinhard

Lieber Reinhard!

also:

vorgang. ich lese daten aus einer sql datenbank aus. diese kopier ich mir aus einer txt. datei raus in das file 2. rein.

in dem file stehn drei spalten für jeweils drei verschiedene länder die jeden abend ihre zahlen in die sql datenbank einspieln. jene welche dich ich dann kopiere.

also vienna- exportieren- kopieren- in file2 paste
ich habe file 2 so aufbereitet das es sich an bestimmten id orientiert und diese dann in eine geordnete auflistung auflistet.
das mache ich jeden tag in der früh
logischer weise überschreibe ich die daten vom vortag in file2.

dann mache ich file1 auf.
da ich mit jede zeile mit einer formel bespickt habe welche genau auf eine andere spalte in file2 greift- kommt die frage ob ich aktualisieren will. ich sage ja und er holt sich die neuen daten aus file2 die ich gerade dort eingefügt und abgespeichert habe.

da ich für jeden tag des monats eine spalte habe und darunter die versch. werte von file2 - mit den formeln übernommen werden- stehn jetzt nicht nur heute die daten drinnen sonder bis ende oktober. was natürlich blöd is. weil die daten ja nur für heute sein sollten.

also mache ich leihenhaft wie ich bin ein copy paste- spezial mit dem heutigen tag- in file1- und lösche damit die formeln und es stehn nur mehr die werte drin. dann lösche ich die daten aus file2. und somit sind alle anderen tage - also ab morgen leer.

und das is superumständlich und ich möchte wissen ob ich die formeln net so umschreiben kann damit sie nur heute die werte übernehmen.

hoffe ich konnte etwas besser erklären

lg lanadra

Lieber Reinhard!

ui, welcher warmer Hauch in dieser kalten Zeit :smile:

vorgang. ich lese daten aus einer sql datenbank aus. diese
kopier ich mir aus einer txt. datei raus in das file 2. rein.
in dem file stehn drei spalten für jeweils drei verschiedene
länder die jeden abend ihre zahlen in die sql datenbank
einspieln. jene welche dich ich dann kopiere.
also vienna- exportieren- kopieren- in file2 paste
ich habe file 2 so aufbereitet das es sich an bestimmten id
orientiert und diese dann in eine geordnete auflistung
auflistet.
das mache ich jeden tag in der früh

Ich würde per Makro direkt die Txt-Datei in File1 einlesen und file2 weglassen. Poste mal hier 10 Zeilen des Textfiles, wie denn das textfile aufgebaut ist und exakt in welche Zeilen die Daten aus dem Txt-File in das File1 sollen.

Liebe Ianadra,
ich gehe davon aus , in file2 ist nach deiner Aufbereitung nur noch eine Spalte, die dann in file1 in die jeweilige tagesspalte sollen.
Pro Monat hst du in file1 ein Tabellenblatt, in der jeweils pro Tag eine Spalte ist.
Wenn dem so ist, so drücke Alt+F11, doppelklicke links nacheinander auf alle Monatstabellenblätter und füge jeweils das nachstehende Makro ein.
Immer wenn du ein Tabellenblatt in file1 aktivierst, so prüft das Makro ob file2 geöffnet ist. Wenn nein, geschieht nichts, wenn ja, werden die daten von file2 übernommen.

Das Makro liegt in zwei Versionen vor, im ersten wird komplett die ganze Spalte aus file2 in die Tagesaktuelle Spalte von file1 übertragen. In der zweiten Version kannst du durch Anpassung des Makros gezielt Werte aus file2 übernehmen, falls die Spalte in file2 ungeordnet ist.
Bei beiden musst du vor dem Einfügen in die Tabellenblätter das Makro auf deine Tabelle anpassen, durch Ändern vpn LOZ un LOS der Tabellen.
Im Makro gilt die RZ-Zählweise und nicht die A1-Zählweise.
Mein reiner Wertebereich(also ohne Überschriften) in file1 ist B3:AF11, ergo ist LOZ1 bei mir 3 und LOS1=2 (B=2)
Lass dich von dem Makro nicht abschrecken, probiere es einfach*gg*
Gruß
Reinhard

Private Sub Worksheet_Activate()
LOZ1 = 3 'linke obere Zeile des reinen Wertebereichs von File1
LOS1 = 2 'linke obere Spalte des wertebereichs von File1, hier 2=B (1=A,2=B,3=C,4=D,usw.)
LOZ2 = 2 'linke obere Zeile des Wertebereichs von File2
LOS2 = 2 'linke obere Spalte des wertebereichs von file2, hier 2=B (1=A,2=B,3=C,4=D,usw.)
Spalte = Day(Now) + LOS1 - 1 'Tagesaktuelle Spalte in file1 ermitteln
Set WB = Workbooks(„file2.xls“).Worksheets(„Tabelle1“)
On Error GoTo Ende
For n = 0 To WB.Cells(Rows.Count, 1).End(xlUp).Row - 1
Cells(LOZ1 + n, Spalte) = WB.Cells(LOZ2 + n, LOS2)
Next n
Ende:
End Sub
********************************************************************

Private Sub Worksheet_Activate()
LOZ1 = 3 'linke obere Zeile des reinen Wertebereichs von File1
LOS1 = 2 'linke obere Spalte des wertebereichs von File1, hier 2=B (1=A,2=B,3=C,4=D,usw.)
LOZ2 = 2 'linke obere Zeile des Wertebereichs von File2
LOS2 = 2 'linke obere Spalte des wertebereichs von file2, hier 2=B (1=A,2=B,3=C,4=D,usw.)
Spalte = Day(Now) + LOS1 - 1 'Tagesaktuelle Spalte in file1 ermitteln
Set WB = Workbooks(„file2.xls“).Worksheets(„Tabelle1“)
On Error GoTo Ende 'wenn file2 nicht geöffnet, mache nichts

'file1-Zeile 3 = file2-Zeile 2
Cells(LOZ1 + 0, Spalte) = WB.Cells(LOZ2 + 0, LOS2)

'file1-Zeile 4 = file2-Zeile 6
Cells(LOZ1 + 1, Spalte) = WB.Cells(LOZ2 + 4, LOS2)

'file1-Zeile 5 = file2-Zeile 5
Cells(LOZ1 + 2, Spalte) = WB.Cells(LOZ2 + 3, LOS2)

'file1-Zeile 6 = file2-Zeile 11
Cells(LOZ1 + 3, Spalte) = WB.Cells(LOZ2 + 9, LOS2)

Cells(LOZ1 + 4, Spalte) = WB.Cells(LOZ2 + 5, LOS2)
Cells(LOZ1 + 5, Spalte) = WB.Cells(LOZ2 + 2, LOS2)
Cells(LOZ1 + 6, Spalte) = WB.Cells(LOZ2 + 1, LOS2)
Cells(LOZ1 + 7, Spalte) = WB.Cells(LOZ2 + 7, LOS2)
Cells(LOZ1 + 8, Spalte) = WB.Cells(LOZ2 + 6, LOS2)
Cells(LOZ1 + 9, Spalte) = WB.Cells(LOZ2 + 8, LOS2)
Ende:
End Sub