Herbers Excel-Forum - das Archiv

Formelwerte von Mappe1 zu Mappe2 übertragen

Bild

Betrifft: Formelwerte von Mappe1 zu Mappe2 übertragen
von: Andre´

Geschrieben am: 13.12.2006 09:20:31
Hallo alle zusammen,
ich möchte die Formelwerte von Mappe1, Tabelle1 aus den Zellen A1 bis G1 in die Mappe2, Tabelle1 übertragen. Beide Mappen befinden sich im gleichen Ordner.
In der Mappe2, Tabelle1 sollen die Werte immer angehängt werden beginnend in A2 bis G2, also wenn in A2 bis G2 Werte vorhanden sind, dann sollen die neuen Werte in A3 bis G3 geschrieben werden u.s.w. bis die Zellen A65536 bis G65536 mit Werten versehen sind, dann sollen die neuen Werte in die Tabelle2 beginnend mit Zelle A2 bis G2 eingefügt werden.
Bei jeder Datenübertragung ist die Mappe1 geöffnet.
Ist es möglich, die Werte in Mappe2 so zu übertragen, dass kein neues Excel-Fenster geöffnet wird mit Mappe2 also quasi im Hintergrund die Mappe2 öffnen, Werte eintragen und Mappe2 wieder schließen.
Hat jemand eine Idee wie man es machen kann!
Danke im Voraus
Andre
Bild

Betrifft: AW: Formelwerte von Mappe1 zu Mappe2 übertragen
von: fcs

Geschrieben am: 13.12.2006 11:22:33
Hallo André,
folgendes Makro überträgt die Werte, wobei während der Ausführung der Bildschirm nicht aktualisiert wird. Es wird während der Ausführung nur die Excel-Sanduhr angezeigt. Die Namen der Mappen/Tabellen muss du ggf. noch anpassen
Sub WerteUebertragen()
Dim wbQuelle As Workbook, wbZiel As Workbook
Dim rngDaten As Range, wksZiel As Worksheet, I As Integer
Set wbQuelle = Workbooks("Mappe1.xls")
Set rngDaten = wbQuelle.Worksheets("Tabelle1").Range("A1:G1")
Application.ScreenUpdating = False
Set wbZiel = Workbooks.Open(wbQuelle.Path & "\" & "Mappe.xls")
For I = 1 To wbZiel.Worksheets.Count
'Prüfen ob schon Daten in letzter Zeile des Blatts eingetragen sind
With wbZiel.Worksheets(I)
If Application.WorksheetFunction.CountA(.Range(.Cells(.Rows.Count, "A"), .Cells(.Rows.Count, "G"))) = 0 Then
Set wksZiel = wbZiel.Worksheets(I)
Exit For
End If
End With
Next
If wksZiel Is Nothing Then
'Neues Blatt einfügen weil vorherige Blätter voll
wbZiel.Worksheets.Add Before:=wbZiel.Sheets(1)
'Werte in Zeile 2 eintragen
ActiveSheet.Cells(2, "A").Range("A1:G1").Value = rngDaten.Value
Else
With wksZiel
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).Range("A1:G1").Value = rngDaten.Value
End With
End If
wbZiel.Close savechanges:=True
Application.ScreenUpdating = True
End Sub

Gruß
Franz
Bild

Betrifft: AW: Formelwerte von Mappe1 zu Mappe2 übertragen
von: Andre´

Geschrieben am: 13.12.2006 12:20:00
Hallo fsc,
danke für deine Antwort. Die Datenübertragung funktioniert sehr gut, das Excel Fenster wird zwar in der Taskleiste angezeigt, soll aber nicht unbedingt das Problem sein. Ich hatte mal einen Code, der suchte in einen Text File bestimmte Zeichen und ersetzte sie durch andere. Dabei war die Text Datei in der Taskleiste nicht ersichtlich.
So etwas gibt es doch bestimmt auch für ein Excel File. Hast Du dafür etwas auf Lager?
MFG
Andre
Bild

Betrifft: AW: Formelwerte von Mappe1 zu Mappe2 übertragen
von: Bernd
Geschrieben am: 13.12.2006 22:47:00
Application.ShowWindowsInTaskbar = False
oder mit GetObject
mfg Bernd
Bild

Betrifft: AW: Formelwerte von Mappe1 zu Mappe2 übertragen
von: Andre´
Geschrieben am: 14.12.2006 08:45:21
Hallo Bernd,
danke für den Tipp, funktioniert!
MFG
Andre
 Bild
Excel-Beispiele zum Thema "Formelwerte von Mappe1 zu Mappe2 übertragen"
Grafik in Abhängigkeit eines Formelwertes ein/ausblenden