Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

In erste freie Zeile einfügen (Makro)
#1
Hallo zusammen,

ich bekomme es nicht hin kopierte Datensätze per Makro in eine andere Arbeitsmappe in die erste freie Zeile einzufügen.
Bisher habe ich:

Sub Folgeimport()
'
' Folgeimport Makro
'

'
    Windows("Datenquelle.XLSX").Activate
    Range("A2").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Windows("Ziel.xlsm").Activate
    Sheets("Daten_aus_Quelle").Select
    Range("A1").Select
    Selection.End(xlDown).Select

Damit komme ich in die letzte Zeile mit Daten, ich muss aber eine Zeile weiter um neue Datensätze einzufügen.

Hat jemand einen Lösungsansatz Huh
wer fragt, gilt vielleicht für den Augenblick als dumm...
    ...wer nicht fragt bleibt es sein Leben lang!
Antworten Top
#2
   statt: Selection.End(xlDown).Select

    Selection.End(xlDown).Offset(1,0).Select

Auch wenn es wahrscheinlich Aufschreie wegen des vielen select/activate geben wird.

Gruss Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Antworten Top
#3
(27.12.2017, 15:13)Igelbauer schrieb:    statt: Selection.End(xlDown).Select

    Selection.End(xlDown).Offset(1,0).Select

Auch wenn es wahrscheinlich Aufschreie wegen des vielen select/activate geben wird.

Gruss Igel

Danke soweit, hast du jetzt noch eine Lösung für das Einfügen der gewählten Daten? Das klappt bei mir irgendwie nicht.
wer fragt, gilt vielleicht für den Augenblick als dumm...
    ...wer nicht fragt bleibt es sein Leben lang!
Antworten Top
#4
Hi,

so?
Sub Folgeimport1()
  ' 
  ' Folgeimport Makro 
  ' 
  Dim loLetzteQ As Long
  Dim loErsteZ As Long
  ' 
   With Windows("Ziel.xlsm").ActiveSheet
     loErsteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
  End With
 
  Windows("Datenquelle.XLSX").ActiveSheet.Range("A2").Select
  Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Copy
  Windows("Ziel.xlsm").ActiveSheet.Range("A" & loErsteZ).Paste
End Sub

Sub Folgeimport2()
   ' 
   ' Folgeimport Makro 
   ' 
   Dim loLetzteQ As Long
   Dim loErsteZ As Long
   ' 
    With Windows("Ziel.xlsm").ActiveSheet
      loErsteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
   End With
  
   Windows("Datenquelle.XLSX").ActiveSheet.UsedRange("A2").Copy
   Windows("Ziel.xlsm").ActiveSheet.Range("A" & loErsteZ).Paste
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Lines
Antworten Top
#5
(27.12.2017, 18:03)Rabe schrieb: Hi,

so?
Sub Folgeimport1()
 '
 ' Folgeimport Makro
 '
 Dim loLetzteQ As Long
 Dim loErsteZ As Long
 '
  With Windows("Ziel.xlsm").ActiveSheet
    loErsteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
 End With

 Windows("Datenquelle.XLSX").ActiveSheet.Range("A2").Select
 Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Copy
 Windows("Ziel.xlsm").ActiveSheet.Range("A" & loErsteZ).Paste
End Sub

Sub Folgeimport2()
  '
  ' Folgeimport Makro
  '
  Dim loLetzteQ As Long
  Dim loErsteZ As Long
  '
   With Windows("Ziel.xlsm").ActiveSheet
     loErsteZ = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
  End With
 
  Windows("Datenquelle.XLSX").ActiveSheet.UsedRange("A2").Copy
  Windows("Ziel.xlsm").ActiveSheet.Range("A" & loErsteZ).Paste
End Sub

Hallo Rabe, hallo Igelbauer,

ich habe mal zwei Beispieldateien angehängt um mein Problem zu verdeutlichen. Ich bekomme täglich eine neue Liste "Datenquelle" mit Namen (& weitern Daten), die an eine bestehende Liste "Ziel.xlsm"  angefügt werden sollen. Wenn die Woche um ist gibt es eine neue Datei "Ziel". Dort funktioniert mein Import-Makro:

Sub Import()
'
' Import Makro
'

'
    Sheets("Daten_aus_Quelle").Select
    Range("A2").Select
    Windows("Datenquelle.XLSX").Activate
    Range("A2").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Windows("Ziel.xlsm").Activate
    Range("A2").Select
    ActiveSheet.Paste
End Sub

der Folgeimport mit euren Vorschlägen funktioniert  leider noch nicht

Grüße Lines


Angehängte Dateien
.zip   Import.zip (Größe: 22,49 KB / Downloads: 4)
wer fragt, gilt vielleicht für den Augenblick als dumm...
    ...wer nicht fragt bleibt es sein Leben lang!
Antworten Top
#6
Windows("Ziel.xlsm").Activate
    Range("A2").Select
    ActiveSheet.Paste

Hi
auch wenns  weh tut
wir haben alle mal klein angefangen.
Tausch mal "Range("A2").Select
gegen "Range("A1").End(xlDown).Offset(1, 0).Select"
aus
Hab leider heute und die nächsten Tage kein Zeit für nähere Erläuterungen.
Rabes Ansatz ist mit Sicherheit der bessere, aber dafür bräuchtest du auch etwas mehr VBA-Kenntniss.
Guten Rutsch
Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
[-] Folgende(r) 1 Nutzer sagt Danke an Igelbauer für diesen Beitrag:
  • Lines
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste