Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten in eine andere Datei schreiben

Daten in eine andere Datei schreiben
Rüdiger
Hallo Ihr Spezialisten,
ich möchte, dass ein Macro mir Zahlen, aus einer Tabelle einer offenen Datei, in eine andere Datei schreiben lassen!
Die Daten stehen in:
D:\RSC\20011\Einzel_8er.xls
Das Datenblatt heist: Tabelle 1
In den Zellen BE11:BE18 stehen die Zahlen. In den Zellen BH11:BH18 stehen die Namen.
Schreiben in:
Diese Zahlen sollen hinter die Namen in die Spalte G in:
D:\RSC\20011\Teilnehmer.xls
Das Datenblatt heist: Liste
geschrieben werden.
Das heist:
Das Macro soll in "D:\RSC\20011\Teilnehmer.xls\Liste" den Namen,
(den es aus "D:\RSC\20011\Einzel_8er.xls\Tabelle 1" hat,)
der in Spalte B steht finden, und in die Spalte G die Zahl schreiben.
Die Zahlen sind nicht fortlaufend!
Natürlich soll das Macro die Datei Teilnehmer zuerst öffnen und nach getaner Arbeit dann wieder schließen!
Ich hoffe, dass ich es gut genug beschrieben habe.
Vielene Dank schon mal
Euer Rüdiger

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten in eine andere Datei schreiben
14.10.2010 10:46:48
Oberschlumpf
Hi Rüdiger
ne Bsp-Datei mit den erforderlichen Daten wäre schön.
Du hast die (Bsp)-Datei schon - wir müssten sie erst erstellen.
Ciao
Thorsten
Klingt nach SVERWEIS ...
14.10.2010 11:51:24
Klaus
Hallo Rüdiger,
was spricht dagegen, das per SVERWEIS zu lösen?
Makrorekordere dir mal folgenden Code:
  • Datei D:\RSC\20011\Teilnehmer.xls öffnen

  • In Teilnehmer/Liste/G2 per SVERWEIS Formel die Zahl zu den Namen holen

  • G2 runter kopieren

  • Spalte G makieren / kopieren / Inhalte einfügen

  • Datei D:\RSC\20011\Teilnehmer.xls schließen

  • Das sollte es eigentlich schon sein. Den Recoder Code können wir dir im Forum gerne verschlanken (sprich von .select und .activate befreien).
    Grüße,
    Klaus M.vdT.
    Anzeige
    AW: Klingt nach SVERWEIS ...
    16.10.2010 08:38:21
    Rüdiger
    Hallo Klaus,
    ich dachte, dass ich die Roiutine an ein anderes Macro ranhänge!
    Gruß Rüdiger
    AW: Daten in eine andere Datei schreiben
    16.10.2010 13:06:42
    Tino
    Hallo,
    kannst mal diesen Code testen, dieser kommt in die Datei Einzel_8er.xls.
    Option Explicit
    
    Sub Uebertragen()
    Dim oWB_EX As Workbook, varRow
    Dim rngData As Range, rngRows As Range
    Dim booIsOben As Boolean
    
    'Pfad zur Datei Extern + Variable 
    Call Check_Oben("D:\RSC\20011\Teilnehmer.xls", oWB_EX, booIsOben)
    
    If oWB_EX Is Nothing Then Exit Sub
    
    'Datenbereich 
    Set rngData = ThisWorkbook.Sheets("Tabelle 1").Range("Be11:BH18")
    
    With oWB_EX
        With .Sheets("Liste") 'Tabelle Extern 
            For Each rngRows In rngData.Rows
                'suche Namen aus BH in Spalte B 
                varRow = Application.Match(rngRows.Cells(1, 4), .Columns(2), 0)
                'Name gefunden? 
                If IsNumeric(varRow) Then
                    'Wert aus BE übertragen 
                    .Cells(varRow, 7) = rngRows.Cells(1, 1)
                End If
            Next
        End With
        .Save 'Datei speichern 
        'war Datei nicht offen? 
        If Not booIsOben Then
            .Close False 'schließen 
        End If
    End With
    
    End Sub
    
    'Hilfsmakro um Datei zu suchen oder zu öffnen 
    Sub Check_Oben(strFileFullName$, ByRef oWB_EX As Workbook, ByRef booIsOben As Boolean)
    Dim strFileName$, oWB As Workbook
    
    strFileName = Right$(strFileFullName, Len(strFileFullName) - InStrRev(strFileFullName, "\"))
    
    For Each oWB In Workbooks
        If oWB.Name = strFileName Then
            Set oWB_EX = oWB
        End If
    Next
    
    If oWB_EX Is Nothing Then
        If Dir(strFileFullName) <> "" Then
            Set oWB_EX = Workbooks.Open("G:\1 Forum\Einzel_8er.xls") 'D:\RSC\20011\Einzel_8er.xls 
            If oWB_EX.ReadOnly Then
                oWB_EX.Close False
                Set oWB_EX = Nothing
            End If
        End If
    Else
        booIsOben = True
    End If
    
    If Not oWB_EX Is Nothing Then _
        If oWB_EX.ReadOnly Then Set oWB_EX = Nothing
    
    If oWB_EX Is Nothing Then
        MsgBox "Datei konnte nicht gefunden oder bearbeitet werden.", vbCritical
    End If
    End Sub
    
    Gruß Tino
    Anzeige
    AW: Daten in eine andere Datei schreiben
    17.10.2010 09:51:01
    Rüdiger
    Hallo Tino,
    Ich habe das von Dir geschickte Macro in ein Modul der Datei "Einzel_8er.xls" kopiert.
    Wenn ich es starte, kommt als erstes die Fehlermeldung:
    Laufzeitfehler '1004':
    Dann drücke ich auf Debuggen und dann wird die Zeile im Hilfsmacro
    Set oWB_EX = Workbooks.Open("G:\1 Forum\Einzel_8er.xls") 'D:\RSC\2011\Einzel_8er.xls
    gelb hinterlegt.
    Warum?
    Entschuldige, bei mir war ein Schreibfehler, den ich aber in den beiden Zeilen im Macro geändert habe.
    Falsch: "D:\RSC\20011\Teilnehmer.xls\Liste"
    Richtig: "D:\RSC\2011\Teilnehmer.xls\Liste"
    Noch einen schönen Sonntag wünscht Rüdiger
    Anzeige
    AW: Daten in eine andere Datei schreiben
    17.10.2010 10:08:46
    Tino
    Hallo,
    ersetze diese Zeile durch diese. (war für test, sorry)
    Set oWB_EX = Workbooks.Open(strFileFullName)
    in der Zeile
    Call Check_Oben("D:\RSC\20011\Teilnehmer.xls", oWB_EX, booIsOben)
    
    musst Du den Pfad angeben zu der Teilnehmer.xls also
    Call Check_Oben("D:\RSC\2011\Teilnehmer.xls", oWB_EX, booIsOben)
    
    Gruß Tino
    AW: Daten in eine andere Datei schreiben
    19.10.2010 12:12:36
    Rüdiger
    Hallo Tino,
    welche Zeile soll ich ersetzen?
    Denke bitte daran ich bin ein VBA Laie!
    Deine Antwort!
    Hallo,
    ersetze diese Zeile durch diese. (war für test, sorry)
    Set oWB_EX = Workbooks.Open(strFileFullName)
    Gruß Rüdiger
    Anzeige
    AW: Daten in eine andere Datei schreiben
    19.10.2010 16:47:35
    Tino
    Hallo,
    ich meinte so, den Pfad zu der Datei aber anpassen..
    Sub Uebertragen()
    Dim oWB_EX As Workbook, varRow
    Dim rngData As Range, rngRows As Range
    Dim booIsOben As Boolean
    
    'Pfad zur Datei Extern + Variable 
    Call Check_Oben("D:\RSC\2011\Teilnehmer.xls", oWB_EX, booIsOben)
    
    If oWB_EX Is Nothing Then Exit Sub
    
    'Datenbereich 
    Set rngData = ThisWorkbook.Sheets("Tabelle 1").Range("Be11:BH18")
    
    With oWB_EX
        With .Sheets("Liste") 'Tabelle Extern 
            For Each rngRows In rngData.Rows
                'suche Namen aus BH in Spalte B 
                varRow = Application.Match(rngRows.Cells(1, 4), .Columns(2), 0)
                'Name gefunden? 
                If IsNumeric(varRow) Then
                    'Wert aus BE übertragen 
                    .Cells(varRow, 7) = rngRows.Cells(1, 1)
                End If
            Next
        End With
        .Save 'Datei speichern 
        'war Datei nicht offen? 
        If Not booIsOben Then
            .Close False 'schließen 
        End If
    End With
    
    End Sub
    
    'Hilfsmakro um Datei zu suchen oder zu öffnen 
    Sub Check_Oben(strFileFullName$, ByRef oWB_EX As Workbook, ByRef booIsOben As Boolean)
    Dim strFileName$, oWB As Workbook
    
    strFileName = Right$(strFileFullName, Len(strFileFullName) - InStrRev(strFileFullName, "\"))
    
    For Each oWB In Workbooks
        If oWB.Name = strFileName Then
            Set oWB_EX = oWB
        End If
    Next
    
    If oWB_EX Is Nothing Then
        If Dir(strFileFullName) <> "" Then
            Set oWB_EX = Workbooks.Open(strFileFullName)
            If oWB_EX.ReadOnly Then
                oWB_EX.Close False
                Set oWB_EX = Nothing
            End If
        End If
    Else
        booIsOben = True
    End If
    
    If Not oWB_EX Is Nothing Then _
        If oWB_EX.ReadOnly Then Set oWB_EX = Nothing
    
    If oWB_EX Is Nothing Then
        MsgBox "Datei konnte nicht gefunden oder bearbeitet werden.", vbCritical
    End If
    End Sub
    
    Gruß Tino
    Anzeige

    311 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige