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
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
Top
#3
(27.12.2017, 16: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.
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
Top
#5
(27.12.2017, 19: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)
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
Top


Gehe zu:


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