Anzeige
Archiv - Navigation
1928to1932
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

Copy&Paste selektiver Zellen

Copy&Paste selektiver Zellen
02.05.2023 16:43:27
Alex W

Hallo zusammen,

ich habe eine Excelmappe, welche die Tabellenblätter "Teilnehmer" und "Bewerber" enthält. Gerne würde ich einzelne Zellen der ausgewählten Zeile in "Bewerber" mittels eines Buttons in die letzte nicht beschriebene Zeile von "Teilnehmer" einfügen. Hier muss jedoch aufgrund der Struktur noch ein Switch einzelner Zellen (Zelle C aus "Bewerber" wird Zelle E in "Teilnehmer etc.) statfinden. Außerdem sollen auch nicht alle Zellen aus "Bewerber" kopiert werden, sondern nur ausgewählte. Ich hätte es für den Anwender gerne so simpel wie möglich, daher sollte es ausreichen, die jeweilige Zeile zu markieren, aus der die Zellen kopiert werden. Das hier ist mein Versuch, welcher bisher jedoch zu Fehler 1004 führt:

Dim wsSource As Worksheet, wsDest As Worksheet, selRow As Long, intNextFree As Long
selRow = Selection.Row
Set wsSource = ActiveSheet
Set wsDest = Worksheets("Teilnehmer")
intNextFree = wsDest.Cells(Rows.Count, "A").End(x1Up).Offset(1, 0).Row
wsDest.Cells(intNextFree, "A").Value = wsSource.Cells(selRow, "A").Value
wsDest.Cells(intNextFree, "E").Value = wsSource.Cells(selRow, "C").Value
wsDest.Cells(intNextFree, "F").Value = wsSource.Cells(selRow, "D").Value
wsDest.Cells(intNextFree, "G").Value = wsSource.Cells(selRow, "E").Value
wsDest.Cells(intNextFree, "H").Value = wsSource.Cells(selRow, "F").Value
wsDest.Cells(intNextFree, "I").Value = wsSource.Cells(selRow, "G").Value
wsDest.Cells(intNextFree, "J").Value = wsSource.Cells(selRow, "H").Value
wsDest.Cells(intNextFree, "K").Value = wsSource.Cells(selRow, "I").Value


Kann mir jemand meinen Fehler aufzeigen oder mir eine Alternative nennen? Vielen Dank bereits vorab.

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

Betreff
Datum
Anwender
Anzeige
AW: Copy&Paste selektiver Zellen
02.05.2023 16:56:36
Heli
Hi,

da ist nur ein Schreibfehler drin: intNextFree = wsDest.Cells(Rows.Count, "A").End(x1Up).Offset(1, 0).Row

Da muss xlUp hin also ein "L" statt ner "1" ;-)

VG, Heli


AW: Copy&Paste selektiver Zellen
02.05.2023 17:17:45
AlexW
Hallo Helix,

Ähhhhm... Ja 😅 Ich hab nach dem großen Fehler des Systems gesucht und den kleinen Fehler des Tippens ignoriert. Vielen Dank für die schnelle Antwort, jetzt läuft alles genauso wie ich es haben will 🙂

Dir noch einen schönen Abend.

Grüße Alex


AW: Copy&Paste selektiver Zellen
02.05.2023 17:03:17
Daniel
HI
mal ne blöde Frage, aber wenn es eine Fehlermeldung gibt, dann stoppt doch Excel in der Zeile, in der der Fehler auftritt und markiert diese mit einem gelben Pfeil.
Wäre es eine große Herausforderung für dich, uns mitzuteilen, in welcher Zeile der Fehler auftritt?
Das würde uns die Arbeit erleichtern, weil wir dann nicht den ganzen Code anschauen müssen.
Aber auch du selber solltest dir diese Zeile genauer anschauen, vielleicht fällt dir ja der Fehler schon selber auf.

nur so als Tip:
alle Excel-Konstanten im Code wie hier beim End(xlUp) beginnen mit "xl" , abgeleitet von "Excel", ein kleines "X" und ein kleines "L".
das kleine "L" wird aber gerne mit der "1" verwechselt, weil es in der Schriftart sehr ähnlich aussieht.
das ist dir hier auch passiert, zumindest in dem Code, den du hier eingestellt hast.

und noch ein Tipp:
aktiviere in den Extras - Optionen - Editor den Haken: Variablendeklaration erforderlich.
Dann bekommt man bei solchen Schreibfehlern einen deutlicheren Hinweis, was falsch ist, weil man dann nur deklarierte Variablen verwenden darf.
Ohne diesen Haken nimmt VBA bei solchen Schreibfehlern an, dass es sich um eine neue Variable handelt, die dann den Wert 0 oder leer hat, was dann im besten Fall wie bei dir zu einem anderen Fehler führt, wenns dumm läuft, rechnet VBA mit dem Wert weiter und liefert dir ein falsches Ergebnis, was dir vielleicht nicht sofort auffällt
Gruß Daniel


Anzeige
AW: Copy&Paste selektiver Zellen
02.05.2023 17:15:30
AlexW
Hallo Daniel,

Vielen Dank für die ganzen Hinweise, tatsächlich war das der Casus Knaxus... Ein unnötiger Fehler, aber vielen Dank für die schnelle Hilfe und die Einstellung habe ich jetzt auch vorgenommen.

Einen schönen Abend dir noch :)


AW: Copy&Paste selektiver Zellen
02.05.2023 18:49:13
GerdL
Hallo Alex,

ich kürze etwas.
Sub Unit()

    Dim selRow As Long
    
    selRow = Selection.Row
    With Worksheets("Teilnehmer").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
        .Cells = Cells(selRow, 1).Value
        .Offset(0, 4) = Cells(selRow, 3).Value
        .Offset(0, 5).Resize(1, 6) = Cells(selRow, 4).Resize(1, 6).Value
    End With

End Sub
Gruß Gerd


Anzeige
AW: Copy&Paste selektiver Zellen
04.05.2023 00:15:32
AlexW
Hallo Gerd,

Sehr interessant das zu lesen, vielen Dank für die Idee. So hätte ich das gedanklich garnicht geordnet, aber macht den Code natürlich übersichtlicher.

Vielen Dank, Grüße Alex

251 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige