Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1508to1512
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 aus xltm/xlsm an xlsx

Daten aus xltm/xlsm an xlsx
19.08.2016 16:29:07
Aaron
Hallo zusammen,
zu meiner letzten Anfrage unter https://www.herber.de/forum/messages/1509659.html ergibt sich nun eine Folgefrage.
Die Daten aus meiner Userform habe ich nun in der xltm/xlsm eingetragen.
Das klappt hervorragend.
Diese xlsm enthält Kundendaten und Rechnungsbeträge.
Die hier übertragenen und zusätzlich ergänzten Daten sollen nun unter anderem in eine vorgegebene xlsx Datei eingetragen werden.
Den ersten Teil des Codes habe ich - so glaube ich - gut hingekommen:
  • Sub Tippgeberabrechnung_abschließen()
    'Vorgang im verborgenen durchführen
    Application.ScreenUpdating = False
    '#  Prozedur speichern der Tippgeberdaten                                       #
    '#  Zieldatei:   "Ziel.xslx"                                                    #
    'Variablen festlegen
    'letzte Zeile
    Dim Letzte As Long
    'Zieldatei öffnen
    Workbooks.Open Filename:= _
    "C:\Users\xxxxxxxxx\Desktop\Ziel.xlsx"
    'Variablen bestimmen
    'letzte Zeile
    Letzte = Workbooks("Ziel.xlsx").Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
    'Die Werte übergeben:
    With Workbooks("Ziel.xlsx").Sheets("Tabelle1")
    .Cells(Letzte, 1) = Sheets("Quelle").Range("B7").Value
    .Cells(Letzte, 2) = Sheets("Quelle").Range("B9").Value
    End With
    End Sub
    


  • Ich vermute meinen Fehler hinter dem "=", dass der Bezug zur Quelldatei (ursprünglich xltm, jetzt xlsm) nicht hergestellt werden kann.
    Liege ich da richtig?!
    Oder habe ich ggf. einen kompletten Denkfehler?
    Ich komm nicht weiter und hoffe auf eure Hilfe.
    Vielen Dank im Voraus.
    Gruß
    Aaron

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Daten aus xltm/xlsm an xlsx
    19.08.2016 16:51:06
    ChrisL
    Hi Aaron
    Ohne Kommentar resp. Copy/Paste vom letzten Beitrag ;)
    Sub Tippgeberabrechnung_abschließen()
    Dim WB1 As Workbook, WB2 As Workbook
    Dim WS1 As Worksheet, WS2 As Worksheet
    Dim Letzte As Long
    Application.ScreenUpdating = False
    Set WB1 = ThisWorkbook
    Set WB2 = Workbooks.Open(Filename:="C:\Pfad\Ziel.xlsx")
    Set WS1 = WB1.Worksheets("Quelle")
    Set WS2 = WB2.Worksheets("Tabelle1")
    With WS2
    Letzte = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    .Cells(Letzte, 1) = WS1.Range("B7").Value
    .Cells(Letzte, 2) = WS1.Range("B9").Value
    End With
    End Sub
    

    cu
    Chris
    Anzeige
    AW: Daten aus xltm/xlsm an xlsx
    20.08.2016 20:56:13
    Aaron
    Hi Chris,
    ... och nöööööö. ;-)
    Ich hatte in die Richtung schon versucht eine Lösung zu finden - hatte aber nicht geklappt. :-(
    So langsam sollte ich dann doch mehr versuchen über die Variablen zu lösen. :-/
    Kann es im Moment nicht ausprobieren - geht erst am Montag wieder im Büro.
    Dennoch schon jetzt vielen Dank für deine Hilfe!
    Ich wünsche ein schönes Wochenende.
    Gruß
    Aaron
    AW: Daten aus xltm/xlsm an xlsx
    22.08.2016 19:06:04
    ChrisL
    Hi Aaron
    Ich mache den Beitrag mal zu. Ansonsten kannst du dich wieder melden.
    Noch ein paar Hinweise. Die Variablen für die Mappen (WB) hätten eigentlich gereicht, dann hättest du die Worksheet Angabe einfach weiter unten gemacht. Allerdings hat es folgende Vorteile, wenn du zu beginn vom Code die Mappe und Arbeitsblatt Variablen zuweist und dann konsequent (einfach gesagt, vor jedem Wort Range, Cells, Rows, Columns) nur noch diese verwendest.
    1. Du ersparst dir Schreibarbeit (weniger Buchstaben) :)
    2. Ändert der Tabellennamen, musst du den Code nur an einer Stelle anpassen
    3. Du ersparst dir Fehler und Zeit fürs Debuggen.
    Und ja, irgendwie konnte Excel den Bezug zwischen den zwei Dateien nicht herstellen. Aus meiner Sicht eigentlich unlogisch, weil die Angabe von Mappe/Tabelle hast du gemacht.
    Der With-Rahmen ist nur Beigemüse. Spart auch wieder ein paar Buchstaben, weil .Cells() (dieses mal mit Punkt) bezieht sich auf den Rahmen (im Beispiel WS2). Speziell wenn nur ein einziges Blatt im Spiel ist hilfreich, weil dann brauchst keine Variablen mehr. Einmal den With-Rahmen setzen und vor jede Range/Cells etc. ein Punkt.
    Es gibt natürlich Momente, wo man sich bewusst auf das aktive Blatt beziehen will, dann kann ganz auf Mappe/Blatt-Angabe verzichtet werden.
    cu
    Chris
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige