Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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 Kopieren

VBA Kopieren
01.07.2017 06:45:59
Tim
Hallo zusammen,
ich möchte gerne Spalte A ab Zeile 2 ( Tabellenblatt: Daten) bis nach unten (flexible )kopieren und in das Tabellenblatt Zusammenfassung Spalte E ab Zeile 3 einfügen.
Wie mache ich das ? denn ich weiß nie wieviele Zeilen in TB Daten drin sind.
Danke

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Kopieren
01.07.2017 07:03:43
hary
Moin
Dim wksQ As Worksheet, wksZ As Worksheet
Dim letzteZ As Long
Set wksQ = Worksheets("Daten")
Set wksZ = Worksheets("Zusammenfassung")
letzteZ = Application.Max(3, wksZ.Cells(Rows.Count, 5).End(xlUp).Row + 1)
wksQ.Range("A2:A" & wksQ.Cells(Rows.Count, 1).End(xlUp).Row).Copy wksZ.Cells(letzteZ, 5)

gruss hary
AW: VBA Kopieren
01.07.2017 07:31:23
Tim
Super danke...
wenn das Makro kopiert und dann in TB Zusammenfassung einfüge, kann man die Leerzeilen in Tabellenblatt Zusammenfassung löschen ?
Leider sind im Tabellenblatt Daten immer wieder Leerzeilen drin.
AW: VBA Kopieren
01.07.2017 07:49:01
Hajo_Zi

Option Explicit
Sub Leerzeilenlöschen()
'   Leerzeilen löschen einschließlich der Zeilen die entstehen wenn Zeilen am ende
'   gelöscht werden, auch Leerzeilen in der Tabelle werden gelöscht
'   von Wolf.W.Radzinski
On Error Resume Next
Dim r As Range
Dim anz As Long
Dim c_ges As Long
Dim col As New Collection
c_ges = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
For Each r In ActiveSheet.UsedRange.EntireRow
anz = 0
anz = r.SpecialCells(xlCellTypeBlanks).Count
If anz >= c_ges Then col.Add r
Next
For Each r In col
r.Delete
Next
End Sub

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: VBA Kopieren mit loeschen
01.07.2017 08:02:04
hary
Moin
Dim wksQ As Worksheet, wksZ As Worksheet
Dim letzteZ As Long
Set wksQ = Worksheets("Daten")
Set wksZ = Worksheets("Zusammenfassung")
With wksZ
letzteZ = Application.Max(3, .Cells(Rows.Count, 5).End(xlUp).Row + 1)
wksQ.Range("A2:A" & wksQ.Cells(Rows.Count, 1).End(xlUp).Row).Copy .Cells(letzteZ, 5)
If Application.CountBlank(.Range(.Cells(3, 5), .Cells(Rows.Count, 5).End(xlUp))) Then
.Range(.Cells(3, 5), .Cells(Rows.Count, 5).End(xlUp)).SpecialCells(xlBlanks).EntireRow. _
Delete
End If
End With

gruss hary
DANKESCHÖÖÖÖN :-)
01.07.2017 08:11:46
Tim
.
Nachfrage. Sorry
01.07.2017 08:54:57
Tim
Hi nochmal,
was muss ich machen, das wenn er die Daten kopiert und es sind Formel dahinter, das er den festen WERT einfügt.
Hoffe du hilfst mir nocheinmal.
Danke
Anzeige
AW: Nachfrage. Sorry
01.07.2017 08:57:46
Hajo_Zi

Sub Werte()
'   Formeln ersetzen durch Werte ohne Formate
Columns("B:C").Copy
Columns("B:C").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False         'Zwischenspeicher löschen
End Sub
Gruß Hajo
AW: mit PasteSpecial
01.07.2017 09:07:07
hary
Moin
Dim wksQ As Worksheet, wksZ As Worksheet
Dim letzteZ As Long
Set wksQ = Worksheets("Daten")
Set wksZ = Worksheets("Zusammenfassung")
With wksZ
letzteZ = Application.Max(3, .Cells(Rows.Count, 5).End(xlUp).Row + 1)
wksQ.Range("A2:A" & wksQ.Cells(Rows.Count, 1).End(xlUp).Row).Copy
.Cells(letzteZ, 5).PasteSpecial Paste:=xlValues'--nur Werte eintragen PasteSpecial muss  _
in eine extra Codezeile
If Application.CountBlank(.Range(.Cells(3, 5), .Cells(Rows.Count, 5).End(xlUp))) Then
.Range(.Cells(3, 5), .Cells(Rows.Count, 5).End(xlUp)).SpecialCells(xlBlanks).EntireRow. _
Delete
End If
End With

gruss hary
Anzeige
AW: mit PasteSpecial
01.07.2017 09:48:06
Siggi
Hi Danke ,
leider kommt ein Fehler:
letzteZ = Application.Max(3, .Cells(Rows.Count, 5).End(xlUp).Row + 1)
wksQ.Range("A2:A" & wksQ.Cells(Rows.Count, 1).End(xlUp).Row).Copy
.Cells(letzteZ, 5).PasteSpecial Paste:=xlValues
Fehler; bei Cells (letzteZ = Application.Max(3, .Cells(Rows.Count, 5).)
Unzulässiger oder unzureichender Verweis
AW: mit PasteSpecial
02.07.2017 07:19:12
hary
Moin
diese Zeile:
Cells (letzteZ = Application.Max(3, .Cells(Rows.Count, 5).)

finde ich nicht im Code.
gruss hary

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige