Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

per Makro Daten in fortlaufende Liste kopieren

Betrifft: per Makro Daten in fortlaufende Liste kopieren von: Andreas
Geschrieben am: 29.09.2014 20:25:51

Hallo,

ich tüftle momentan an folgendem Makro:
Per Knopfdruck sollen Daten aus einer geöffneten Quelldatei in eine fortlaufende Liste der Zieldatei kopiert werden. Die Zieldatei soll dabei nach Möglichkeit automatisch geöffnet werden. Quelldatei und Zieldatei sind nicht im selben Verzeichnis gespeichert, der Pfad der Zieldatei ist aber fix. Falls das automatische Öffnen nicht möglich ist, soll der Explorer zum Auswählen der Zieldatei geöffnet werden.

Einen entsprechendes Makro für das Übertragen in ein anderes Tabellenblatt habe ich hier bereits gefunden:

https://www.herber.de/forum/archiv/1268to1272/1271296_Daten_von_einem_Tabellenblatt_ins_andere_uebertrage.html

Was muss ich ergänzen, um die Daten in eine andere Zieldatei anstelle eines anderen Tabellenblatts zu kopieren?

Danke + Gruß,
Andreas

  

Betrifft: AW: per Makro Daten in fortlaufende Liste kopieren von: Adis
Geschrieben am: 30.09.2014 01:44:41

Hallo

der Pfad der Zieldatei ist aber fix
eine Zieldatei öffnen die immer im gleichen Pfad liegt kann man ins Makro einbauen.
Veraendert sich der Pfad, oder sind es diverse Zieldateieen braucht man den Explorer.

zum Explorer öffnen reicht der Befehl: - Application.Dialogs(xlDialogOpen).Show

zu bedenken ist bei dem Code aus dem Archiv Forum das man jetzt mit 2 Mappen arbeitet.
Das bedeutet konkret, beim Öffnen der Zieldatei ist jetzt die Zieldatei das -Aktive Fenster-
Excel muss jetzt wissen, aus welcher Mappe werden die Daten für die Zieldatei geholt?

Set wksEingabe = Worksheets("Eingabe") stimmt jetzt nicht mehr!!

Die Set Anweisung würde ich umbenennen (überall aendern) in wksQuelle, klingt logischer
Weil der Code zum kopieren in der Quelldatei steht, muss -ThisWorkbook- ergaenzt werden!
Danach mal Testen ob es funktioniert. Zum Testen bitte zuerst Kopierte Dateien nehmen,
Erfahrungsgemaess können beim ersten Probieren immer unerwartete Fehler auftauchen!

Set wksQuelle = ThisWorkbook.Worksheets("Eingabe") 'um -ThisWorkbook- ergaenzen

Gruss Adis


  

Betrifft: AW: per Makro Daten in fortlaufende Liste kopieren von: Adis
Geschrieben am: 30.09.2014 01:47:22

Sorry, versehentlich Kontrollkaestchen nicht aktiviert


  

Betrifft: AW: per Makro Daten in fortlaufende Liste kopieren von: Andreas
Geschrieben am: 30.09.2014 19:20:16

Hallo,

vielen Dank für die Tipps. Ich habe das Makro wie folgt überarbeitet, und es funktioniert auch bestens:

Sub Test()
  Dim wksQuelle As Worksheet
  Dim wksZiel As Worksheet
  Dim lngZeile As Long, rngZelle As Range
  Workbooks.Open Filename:="C:\........"
 Set wksQuelle = ThisWorkbook.Worksheets("Eingabe")
  Set wksZiel = Worksheets("Übersicht")
  With wksZiel
    Set rngZelle = .Cells.Find(What:="*", After:=.Range("A1"), LookIn:=xlFormulas, _
        lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
    If rngZelle Is Nothing Then
      lngZeile = 1
    Else
      lngZeile = rngZelle.Row + 1
    End If
    .Cells(lngZeile, 1).Value = wksQuelle.Range("C4")
    .Cells(lngZeile, 2).Value = wksQuelle.Range("A4") 
    .Cells(lngZeile, 3).Value = wksQuelle.Range("E7")
    .Cells(lngZeile, 4).Value = wksQuelle.Range("E4")
    .Cells(lngZeile, 5).Value = wksQuelle.Range("J26")
    .Cells(lngZeile, 6).Value = wksQuelle.Range("E10")
    ActiveWorkbook.Close SaveChanges:=True
  End With
End Sub
Ist es möglich, mir von Excel eine Rückmeldung ausspucken zu lassen, ob die Übertragung erfolgreich war oder nicht? Z.B. in Form einer Messagebox?

Wie schaffe ich es, dass bei versehentlich verschobener Zieldatei der Explorer anstelle der Fehlermeldung "Debuggen ..." aufploppt?

Gruß,
Andreas


  

Betrifft: AW: per Makro Daten in fortlaufende Liste kopieren von: yummi
Geschrieben am: 02.10.2014 11:51:18

Hallo Andreas,

die Nachricht ob fertig einfach als MsgBox am ende hin.
das überprüfen der Datei so:

Sub opentest()
Dim wkb As Workbook

  On Error Resume Next
  Set wkb = Workbooks.Open(Filename:="C:\nichtvorhanden.txt")
  If Not wkb Is Nothing Then
    MsgBox "Makro"
  Else 
    MsgBox "Fehler"
  End If
End Sub
Anstelel der MsgBox "Makro" musst du dein makro einfügen ;-)

Gruß
yummi


 

Beiträge aus den Excel-Beispielen zum Thema "per Makro Daten in fortlaufende Liste kopieren"