Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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
Werte mit Makro einfügen
28.05.2016 15:09:33
Robert
Hallo Zusammen,
wie müsste ich den folgenden Code abändern damit nicht die Tabelle eins zu eins ans
Ende kopiert wird sondern nur die Werte eingefügt werden?
Private Sub Übernehmen_Click()
Sheets("Datenverarbeitung").Range("AQ2:BC200").Copy Sheets("Datenerfassung").Range("A" &  _
Rows.Count).End(xlUp).Offset(1, 0)
End Sub

Danke und Gruß
Robert

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte mit Makro einfügen
28.05.2016 15:28:06
Nepumuk
Hallo,
so:
Option Explicit

Private Sub Übernehmen_Click()
    Call Worksheets("Datenverarbeitung").Range("AQ2:BC200").Copy
    With Worksheets("Datenerfassung")
        Call .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial(Paste:=xlPasteValues)
    End With
    Application.CutCopyMode = False
End Sub

Gruß
Nepumuk

Anzeige
AW: Werte mit Makro einfügen
28.05.2016 15:46:34
Robert
Hi Nepumuk,
danke für die superschnelle Antwort.
Jetzt stehe ich leider vor dem Problem das "immer" die Zellen AQ2:BC200 eingefügt werden.
Ich ging davon aus das wenn diese Zelle (z.B. 130 - 200) leer sind nichts eingefügt wird und beim nächsten betätigen
des Übernehmen-Makros dann nicht bei Zeile 201 angesetzt wird sondern an der letzten freien Zeile.
Hast du dafür auch eine Lösung für mich?
Gruß Robert

AW: Werte mit Makro einfügen
28.05.2016 17:40:45
Crazy
Hi
wenn keine Leerzeilen zwischen drin sind
geht das in meinem Test so
Private Sub Übernehmen_Click()
Dim lngLetzte As Long
Dim lngZiel As Long
Application.ScreenUpdating = False
With Sheets("Datenverarbeitung")
lngLetzte = .Cells(Rows.Count, "AQ").End(xlUp).Row
.Range("AQ2:BC" & lngLetzte).Copy
End With
With Sheets("Datenerfassung")
lngZiel = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(lngZiel, "A").PasteSpecial Paste:=xlValues
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

MfG Tom

Anzeige
AW: Werte mit Makro einfügen
28.05.2016 17:57:53
Robert
Hey Tom,
vielen Dank das du dir die Mühe gemacht hast und entschuldige bitte das ich die Information das in allen Zellen etwas steht so spät rausgegeben habe. Leider kann ich deinen Code so nicht verwenden da
die Zelle welche Formel enthalten auch leider als gefüllte Zelle erkannt werden.
Hast du eine Idee was ich da machen könnte?

AW: Werte mit Makro einfügen
28.05.2016 18:02:34
Crazy
Hi
dann probiere das hier mal wenn es nie mehr als 200 Zeilen werden
Private Sub Übernehmen_Click()
Dim lngLetzte As Long
Dim lngZiel As Long
Application.ScreenUpdating = False
With Sheets("Datenverarbeitung")
lngLetzte = WorksheetFunction.Count(.Range("AQ1:AQ200"))
.Range("AQ2:BC" & lngLetzte).Copy
End With
With Sheets("Datenerfassung")
lngZiel = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(lngZiel, "A").PasteSpecial Paste:=xlValues
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

ansonsten den Bereich in der Worksheetfunction dementsprechend erweitern
MfG Tom

Anzeige
AW: Werte mit Makro einfügen
28.05.2016 18:10:11
Robert
Jetzt bekomme ich eine Fehlermeldung für:
.Range("AQ2:BC" & lngLetzte).Copy

AW: Werte mit Makro einfügen
28.05.2016 18:16:49
Crazy
Hi
ja der Fehler kommt wenn dort Text steht
dann ermittel den Bereich von der Ursprungszelle
wenn in der Spalte AQ immer diese Formel drin steht
kann man die letzte Zeile in Spalte A ermitteln
Private Sub Übernehmen_Click()
Dim lngLetzte As Long
Dim lngZiel As Long
Application.ScreenUpdating = False
With Sheets("Datenverarbeitung")
lngLetzte = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("AQ2:BC" & lngLetzte).Copy
End With
With Sheets("Datenerfassung")
lngZiel = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(lngZiel, "A").PasteSpecial Paste:=xlValues
End With
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

MfG Tom

Anzeige
AW: Werte mit Makro einfügen
28.05.2016 18:54:44
Robert
Entschuldige aber leider werden wieder alle Zelle übernommen und beim zweiten mal Kopieren geht es dann erst wieder bei Zelle 201 los.so das sehr viele Zellen zwischendurch leer sind.
Würde eine Beispieldatei helfen? Dann würde ich eben eine erstellen.

AW: Werte mit Makro einfügen
28.05.2016 19:18:36
Crazy
Hi
Beispieltabelle ist immer gut
MfG Tom

AW: Werte mit Makro einfügen
28.05.2016 19:40:38
Robert
https://www.herber.de/bbs/user/105841.zip
Anbei das Beispiel.
Ich hoffe du hast Verständnis dafür das ich einige Daten und Tabellenblätter löschen musste aber im groben ist das die Datei in Ihrem aktuellen status.
Da ich nicht der mega Coder bin Versuche ich einiges über Formel abzufedern und dann erst in die Userform zu übertragen. Deshalb gehen die Daten zwischen mehreren Tabellen hin und her.
Am Ende sollte im Sheet Datenerfassung eine Sauber Auflistung der Wareneingänge erscheinen ohne Leerzeilen.
Danke schon mal und Gruß
Robert

Anzeige
AW: Werte mit Makro einfügen
28.05.2016 19:45:40
Nepumuk
Hallo,
teste mal:
Option Explicit

Private Sub Übernehmen_Click()
    Dim objCell As Range
    With Worksheets("Datenverarbeitung")
        Set objCell = .Columns(1).Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
        Call .Range(.Cells(2, 43), .Cells(objCell.Row, 55)).Copy
    End With
    With Worksheets("Datenerfassung")
        Set objCell = .Columns(1).Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
        Call objCell.Offset(1, 0).PasteSpecial(Paste:=xlPasteValues)
    End With
    Set objCell = Nothing
    Application.CutCopyMode = False
End Sub

Gruß
Nepumuk

Anzeige
AW: Werte mit Makro einfügen
29.05.2016 09:13:30
Robert
Es läuft. Vielen Danke Nepumuk, Tom und Werner jetzt kann das Tool endlich nächste Woche testweise eingesetzte werden.
Gruß Robert

AW: Werte mit Makro einfügen
28.05.2016 17:42:34
Robert
Noch als Ergänzung in alle Zellen sind Formel hinterlegt (z.B. =wennA2="";"";A2)
Deshalb möchte ich nur die Werte an das Ende der anderen Tabelle Kopieren und somit fixieren da sich die Werte im zu Kopierenden bereich immer wieder ändern.

AW: Werte mit Makro einfügen
28.05.2016 21:02:54
Werner
Hallo Robert,
Public Sub test()
Dim loLetzte As Long
loLetzte = Worksheets("Tabelle1").Columns(1).Find(what:="?*", LookIn:=xlValues, lookat:=xlWhole, _
searchdirection:=xlPrevious).Row
MsgBox loLetzte
End Sub
Überprüft wird Spalte A =Columns(1) im Blatt "Tabelle1" - ggf. anpassen.
Gruß Werner

Anzeige
AW: Gerne und danke für die Rückmeldung. o.w.T.
29.05.2016 13:45:08
Werner

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige