Lieber Reinhard!
ui, welcher warmer Hauch in dieser kalten Zeit 
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