Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Übertrag einer Selektion


Betrifft: Übertrag einer Selektion von: Birgit
Geschrieben am: 17.09.2019 14:39:17

Hallöchen zusammen,

ich hoffe es ist nicht allzu vermessen nun ohne einen bisherigen Ansatz eines Makros hier Hilfe zu erbitten.

Anbei eine Beispieldatei (hoffe sie ist ausreichend und das hoch laden klappt :) ).

https://www.herber.de/bbs/user/132074.xlsm

Was möchte ich gerne umsetzen: Ich möchte gerne in dem Blatt "Obst" in Spalte "A" ein "x" setzen und dann über eine Schaltfläche die Daten der Spalten B-J einer mit einem "x" markierten Zeile in das Blatt "Projektplanung" ab Zelle "D2" fortlaufend einfügen.

Das Makro sollte also erkennen können:
- wo ist im Blatt "Obst" ein "x" gesetzt
- ob im Blatt "Projektplanung" ab Zelle D2 schon etwas steht, und es dann nahtlos unten anfügen.

Hat jemand Lust zu basteln? :) Ich würde mich sehr freuen.

Lieben Dank schon mal im Voraus.

Gruß
Birgit

  

Betrifft: AW: Übertrag einer Selektion von: 1713481.html
Geschrieben am: 17.09.2019 15:14:03

Servus Birgit,

in ein allgemeines Modul:

            Sub test()
            Dim wsQ As Worksheet
            Dim wsZ As Worksheet
            Dim intLZQ As Long
            Dim intLZZ As Long
            Dim i As Integer
            Set wsQ = ThisWorkbook.Sheets("Obst")
            Set wsZ = ThisWorkbook.Sheets("Projektplanung")
            intLZQ = wsQ.Cells(Rows.Count, 2).End(xlUp).Row
            intLZZ = wsZ.Cells(Rows.Count, 4).End(xlUp).Row + 1
            For i = 5 To intLZQ
                If LCase(wsQ.Cells(i, 1).Value) = "x" Then
                    wsQ.Range(wsQ.Cells(i, 2), wsQ.Cells(i, 10)).Copy Destination:=wsZ.Cells(intLZZ, 4)
                    intLZZ = intLZZ + 1
                End If
            Next i
            Set wsQ = Nothing
            Set wsZ = Nothing
            End Sub
            
sollte reichen...

Grüße, Bernd
  

Betrifft: AW: Übertrag einer Selektion von: 1713484.html
Geschrieben am: 17.09.2019 15:20:14

Hallo Birgit,

Ich habs direkt auf den Button gelegt. Also einfach klicken.

Gruss Torsten

https://www.herber.de/bbs/user/132075.xlsm

  

Betrifft: AW: Übertrag einer Selektion von: 1713485.html
Geschrieben am: 17.09.2019 15:22:06

Naja, was soll ich sagen :) Fühl dich gedrückt, es klappt.

Nun hab ich aber noch eine kosmetische Frage.

Das Makro macht was es soll, überschreibt aber gänzlich das Zieldesign und gibt den übertragenen Betrag als "#Wert!" aus.

Kann man das Makro anpassen? :) Bestimmt, oder?

VG
Birgit

  

Betrifft: AW: Übertrag einer Selektion von: 1713488.html
Geschrieben am: 17.09.2019 15:27:39

Ok, also ich hab nun das von Torsten genommen und auch super :) perfekt einfach :)

Herzlichen Dank :)

  

Betrifft: gerne... von: 1713489.html
Geschrieben am: 17.09.2019 15:28:11

viel Spass

  

Betrifft: AW: gerne... von: 1713493.html
Geschrieben am: 17.09.2019 15:41:01

Ok, ich hab doch noch die eine oder andere Frage.

Ich habe herausgefunden wie ich den Button umbenenne und hab im Makro die Bezeichnung auch geändert, allerdings ist der Button dann ohne Funktion? War ich doch zu naiv in meiner vermeintlich grandiosen Bastelei? ;-)

  

Betrifft: AW: gerne... von: 1713497.html
Geschrieben am: 17.09.2019 15:46:25

Wo hast du den Button umbenannt. Lad nochmal die Datei hoch mit deinen Aenderungen, bitte.

  

Betrifft: AW: gerne... von: 1713500.html
Geschrieben am: 17.09.2019 15:50:39

Ich habe einfach hier ==> Private Sub CommandButton1_Click() <== das "CommandButton1" umbenannt in "Übertrag" und habe dann im Entwurfsmodus einen Rechtsklick gemacht und die Schaltfläche bearbeitet indem ich sie "Übertrag" umgetauft habe.

  

Betrifft: AW: gerne... von: 1713504.html
Geschrieben am: 17.09.2019 16:06:40

Ach und noch eine Frage: wie kann man das Makro erweitern, sodaß es nach erfolgreichem Übertrag die "x" aus Spalte A löscht?

  

Betrifft: Makroerweiterung noch offen von: 1713509.html
Geschrieben am: 17.09.2019 16:18:29

:)

  

Betrifft: AW: Makroerweiterung noch offen von: 1713519.html
Geschrieben am: 17.09.2019 17:06:06

Hi

mit einem

wsQ.Cells(i, 1).ClearContents

nach dem Kopieren der Zeile.

Gruß Daniel
  

Betrifft: AW: Makroerweiterung noch offen von: 1713812.html
Geschrieben am: 19.09.2019 09:48:14

Hallo zusammen,

wenn ich den Befehl zwischen folgende Zeilen einfüge

wsQ.Range("B" & Zelle.Row & ":J" & Zelle.Row).Copy
wsZ.Range("D" & letzteZ + 1).PasteSpecial xlPasteValues

bekomme ich eine Fehlermeldung "Laufzweitfehler '1004': Anwendungs- oder objektdefinierter Fehler.
Gehört es vielleicht an eine andere Stelle?

Gruß
Birgit

  

Betrifft: AW: Makroerweiterung noch offen von: 1713853.html
Geschrieben am: 19.09.2019 12:02:56

Ok, ich hab es so umgebaut ==> wsQ.Cells(5, 1).ClearContents <== und es löscht mir zumindest schon mal den Inhalt dieser einen Zelle.

Wie baue ich es um, sodaß alle Inhalte in dieser Spalte gelöscht werden?

Danke für eure Geduld :)

  

Betrifft: Umbenennen gelöst :) von: 1713508.html
Geschrieben am: 17.09.2019 16:17:41

:)

Beiträge aus dem Excel-Forum zum Thema "Übertrag einer Selektion "