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

Zellen mit bestimmten Inhalt markieren und Werte in Liste kopieren

Zellen mit bestimmten Inhalt markieren und Werte in Liste kopieren
26.09.2020 13:34:37
Pascal
Hallo,
ich versuche gerade folgenden Arbeitsschritt zu automatisieren, um Zeit zu sparen und zu verhindern, dass meine Mitstudenten durch einfaches Copy&Paste aus Versehen Formatierungen übertragen.
1) Auf dem Arbeitsblatt "Beispielauswertung" alle Zeilen in Spalte M und N markieren, in denen in Spalte N einen der Werte in "Dropdown!A6:A21" enthält.
2) Diese Mehrfachauswahl möchte ich dann als Werte an das Ende der Liste auf dem Arbeitsblatt "Liste #1" kopieren. Den Hyperlink dazu habe ich in der Zelle "Beispielauswertung!C23" schon erstellt
Leider ist das meine erste Excel in der ich mit normalen Formeln nicht weiterkomme...
Wäre diese Automatisierung umsetzbar und kann jemand einen Online-Kurs empfehlen, in dem die nötigen Grundlagen unterrichtet werden?
https://www.herber.de/bbs/user/140454.xlsm
Beste Grüße
Pascal

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit bestimmten Inhalt markieren und Werte in Liste kopieren
26.09.2020 16:43:52
Dieter
Hallo Pascal,
Du könntest die Übertragung mit dem folgenden Programm machen.
Sub Übertragen()
Dim letzteZeileQ As Long
Dim letzteZeileZ As Long
Dim wsD As Worksheet ' Blatt "DropDown"
Dim wsQ As Worksheet ' Quelle
Dim wsZ As Worksheet ' Ziel
Dim zeileD As Long
Dim zeileQ As Long
Dim zeileZ As Long
Dim zf As String
Set wsD = ThisWorkbook.Worksheets("DropDown")
Set wsQ = ThisWorkbook.Worksheets("Beispielauswertung")
Set wsZ = ThisWorkbook.Worksheets("Liste #1")
letzteZeileQ = wsQ.Cells(wsQ.Rows.Count, "M").End(xlUp).Row
letzteZeileZ = wsZ.Cells(wsZ.Rows.Count, "A").End(xlUp).Row
zeileZ = letzteZeileZ + 1
For zeileQ = 7 To letzteZeileQ
If Not IsEmpty(wsQ.Cells(zeileQ, "N")) Then
zf = wsQ.Cells(zeileQ, "N")
For zeileD = 6 To 21
If wsD.Cells(zeileD, "A") = zf Then
wsQ.Cells(zeileQ, "M").Resize(, 2).Copy
wsZ.Cells(zeileZ, "A").PasteSpecial Paste:=xlPasteValues
zeileZ = zeileZ + 1
Exit For
End If
Next zeileD
End If
Next zeileQ
wsZ.Activate
wsZ.Cells(zeileZ, "A").Select
End Sub

Das Programm könnte durch eine Worksheet_FollowHyperlink-Prozedur gestartet werden.
Allerdings lässt sich das bei dir nicht einrichten, weil dein Blatt geschützt ist.
Die übertragenen Daten werden in dem Tabellenblatt "Beispielauswertung" offenbar durch bedingte Formatierung unsichtbar.
Da sich in das geschützte Blatt auch keine Schaltfläche zum Programmstart einfügen lässt, startest du das Programm über das Register "Entwicklertools" > Gruppe "Code" > "Makros".
Mit freundlichen Grüßen
Dieter
Anzeige
AW: Zellen mit bestimmten Inhalt markieren und Werte in Liste kopieren
27.09.2020 08:22:22
Pascal
Hallo Dieter,
vielen Dank, das Programm funktioniert einwandfrei!
Ich hatte gehofft den Code zu verstehen und auf den Bereich Menükomponenten erweitern zu können. Leider werde ich aus dem Code nicht schlau, was aufgrund fehlender VBA-Kenntnisse nicht weiter verwunderlich ist. Hast du Zeit und Lust den Code, gerne gegen Entschädigung für den Zeitaufwand, zu erweitern, sodass folgende Funktion erfüllt wird?
Über eine Schaltfläche auf dem Arbeitsblatt „Vorlage“ (Die auch für anders benannte Kopien der Vorlage funktionieren muss, da für jedes neue Ernährungsprotokoll ein neues Blatt angelegt wird) soll folgender Vorgang gestartet werden:
1) Auf dem Arbeitsblatt mit der Schaltfläche:
Alle Zeilen in Spalte M und N markieren, in denen in Spalte N einen der Werte in 'Dropdown'!A6:A21 enthält UND in denen der Wert (Name) in Spalte M nicht bereits in 'Liste #1'!A:A vorkommt(Zeilen mit doppelt vorkommenden Namen [Spalte M] sollten im Optimalfall auch nur einmal markiert werden).
2) Diese Mehrfachauswahl kopieren und als Werte an das Ende der Liste auf dem Arbeitsblatt "Liste #1" einfügen.
3) Alle Zeilen in Spalte P bis V markieren, in denen alle Zellen einen Wert enthalten UND in denen der Wert (Name) in Spalte P nicht bereits in 'Liste #2'!A:A vorkommt(Zeilen mit doppelt vorkommenden Namen [Spalte P] sollten im Optimalfall auch nur einmal markiert werden).
4) Diese Mehrfachauswahl kopieren und als Werte an das Ende der Liste auf dem Arbeitsblatt "Liste #2" einfügen.
5) Die Zelle BC15 auf dem Arbeitsblatt mit der Schaltfläche als aktive Zelle wählen
Ich frage nur ungern nach einer Komplettlösung, benutze Excel aber erst seit einem Jahr durch meinen HiWi-Job und bin mit Makros noch völlig überfragt…
Diesmal vergesse ich auch nicht die Datei zu entsperren und die bedingte Formatierung, die übertragene Werte unsichtbar macht zu entfernen. Die Beispiele in der Vorlage sollten mein Anliegen noch einmal veranschaulichen.
https://www.herber.de/bbs/user/140463.xlsm
Beste Grüße
Pascal
Anzeige
AW: Zellen mit bestimmten Inhalt markieren und Werte in Liste kopieren
27.09.2020 14:53:25
Dieter
Hallo Pascal,
ich denke, das ist kein Problem, aber ich komme erst morgen dazu.
Eine Frage zum gewünschten Ergebnis: Sollen die gefundenen Werte wirklich markiert werden oder reicht es, wenn sie übertragen werden? Für die Übertragung ist nämlich keine vorherige Selektion erforderlich.
Wir können auch gern über meine angehängte E-Mail korrespondieren.
Viele Grüße und noch einen schönen Sonntag
Dieter
Userbild

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige