Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
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

VBA Variablen Bereich kopieren

VBA Variablen Bereich kopieren
26.08.2020 11:28:12
Johnnn
Grüße euch,
ich habe mal wieder ein Problem, und zwar möchte ich einen variablen Bereich einer Spalte kopieren & in eine andere vordefinierte Spalte einfügen. Mir ist wichtig, dass nur der Bereich kopiert wird, in dem Daten stehen.
Mein Gedanke war, einfach mit der .End(xldown) Funktion zu arbeiten, in meinem vorliegenden Fall jedoch, wird nur die letzte Zelle der Spalte kopiert & eingefügt.
Hier der Code:
Sub copy()
Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda&Solutions").Range("B5").End( _
xlDown)).copy
Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda").Range("A10").PasteSpecial  _
xlPasteValues
End Sub

Hatte dann den Gedanken, das ganze über Cells zu lösen und so einen ´"Bereich" zu definieren in dem die .End(xldown) Funktion arbeitet, das klappt aber leider auch nicht.
Sub copy()
Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda&Solutions").Range(Cells(5, 2),   _
_
Cells(78, 2).End(xlDown)).copy
Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda").Range("A10").PasteSpecial  _
xlPasteValues
End Sub

Kann mir hier jemand bitte eine Hilfestellung geben?
LG

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Variablen Bereich kopieren
26.08.2020 11:42:11
peterk
Hallo
Ungetestet

Sub copyRange()
Dim LastRow As Long
With Workbooks("Design_JF_Agenda_Vorlage01.xlsm")
With .Worksheets("Agenda&Solutions")
LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
End With
.Worksheets("Agenda&Solutions").Range("B2:B" & LastRow).copy _
Destination:=.Worksheets("Agenda").Range("A10")
End With
End Sub

AW: VBA Variablen Bereich kopieren
26.08.2020 13:25:28
Johnnn
Erst mal vielen Dank euch allen für euer Feedback& eure Unterstützung!
Gerne würde ich mit der Lösung von PeterK arbeiten, da ich mit der Lösung am besten zurechtkomme & einigermaßen verstehe. Hier ist nur das Problem, dass nicht die Werte sondern die Formel kopiert wird. Ein einfaches Einfügen von .Pastespecial & xlPasteValues funktioniert leider nicht.
Jemand eine Idee?
LG
Anzeige
AW: VBA Variablen Bereich kopieren
26.08.2020 14:01:43
UweD
Wenn du das ändern möchtest, bist du bei meiner Lösung
LG UweD
AW: VBA Variablen Bereich kopieren
26.08.2020 11:47:44
UweD
Hallo
so... Ungeprüft

Sub CCopy()
Dim LR As Long, Z1 As Integer, SP As Integer
Dim Tb1, TB2
Set Tb1 = Sheets("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda&Solutions")
Set TB2 = Sheets("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda")
Z1 = 5
SP = 1 'Spalte A
LR = Tb1.Cells(Tb1.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
'*________________________________*
Tb1.Cells(5, 1).Resize(LR - Z1 + 1, 1).copy
TB2.Cells(10, 1).Resize(LR - Z1 + 1, 1).PasteSpecial xlPasteValues
'Oder
TB2.Cells(10, 1).Resize(LR - Z1 + 1, 1).Value = Tb1.Cells(5, 1).Resize(LR - Z1 + 1, 1). _
Value
End Sub
LG UweD
Anzeige
AW: VBA Variablen Bereich kopieren
26.08.2020 11:49:12
Werner
Hallo,
teste mal:
Sub kopieren()
With Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda&Solutions")
.Range("B5:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).copy
Workbooks("Design_JF_Agenda_Vorlage01.xlsm").Worksheets("Agenda") _
.Range("A10").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
End Sub
Ich würde das Makro dann auch nicht mit "copy" benennen. Das ist ein VBA-Schlüsselwort. Ob das Probleme macht weiß ich nicht - würde aber keine Schlüsselwörter als Makronamen verwenden.
Gruß Werner
Anzeige
AW: VBA Variablen Bereich kopieren
26.08.2020 12:26:54
Gerd
Moin,
je nach Datenstruktur geht es auch mit End(xlDown).
Sub Unit()
Dim LZ As Long
With Workbooks("Design_JF_Agenda_Vorlage01.xlsm"). _
Worksheets("Agenda&Solutions")
If IsEmpty(.Range("B5")) Or IsEmpty(.Range("B6")) Then
LZ = 5
Else
LZ = .Range("B5").End(xlDown).Row
End If
.Range("B5:B" & LZ).copy
End With
Workbooks("Design_JF_Agenda_Vorlage01.xlsm"). _
Worksheets("Agenda").Range("A10").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub

Gruß Gerd

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige