Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1540to1544
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

Datenprüfung-Makro

Datenprüfung-Makro
22.02.2017 21:24:07
Peter
Hallo zusammen
Ich bin auf der Suche nach einem Marko, das mir meine Zwischenablage mit "=" konkateniert und anschliessend den Wert als Formel in eine Datenüberprüfung als Liste einfügt. Ich habe es zwar bereits selbst versucht, aber bin leider mit jedem Versuch gescheitert. Folgende Aufgabe möchte ich regelmässig durchführen:
Ich wähle einen Zellenbereich an und definiere einen Namen dafür. Gleichzeitig nehme ich den Namen in die Zwischenablage. Dann wähle ich die Zelle im Excel, in der ich eine Werteliste platzieren möchte. Den darauffolgende Teil möchte ich mit einem Makro lösen:
1. Ich wechsle in den Reiter "Daten" zu "Datentools" und wähle "Datenüberprüfung". Es öffnet sich die Maske "Datenüberprüfung".
2. Bei "Zulassen:" wähle ich "Liste" aus.
3. Bei "Daten:" gebe ich zuerst ein "=" (Gleichheitszeichen) und füge anschliessend den Zwischenspeicher (Ctrl-v) ein.
4. Das Ganze schliesse ich mit OK ab.
Danach habe ich in der Zeile eine Werteliste zum Auswählen. Die Punkte 1. bis 4. hätte ich gerne mit einem Makro gelöst. Ich kriege es nur nicht hin. Kann mir jemand helfen?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenprüfung-Makro
23.02.2017 02:46:43
Werner
Hallo Peter,
diese beiden Makros zusammen in ein allgemeines Modul
Public Function HoleTextVonZwischenablage() As String
'### von Peter Haserodt ###
Dim oData As New DataObject
On Error Resume Next ' Brutal um falsche Formate abzuwürgen, gibt dann einen Leerstring
oData.GetFromClipboard
HoleTextVonZwischenablage = oData.GetText
End Function
Public Sub RausMitZwischenAblage()
'### von Peter Haserodt ###
Dim oData As New DataObject
oData.SetText ""
oData.PutInClipboard
End Sub
Dieses Makro ins Code-Modul des Arbeitsblattes, auf dem du deine Gültigkeitslisten einfügen willst.
Dazu rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Bereichsnamen As Variant
Bereichsnamen = HoleTextVonZwischenablage 'Zwischenablage in Variable
If Bereichsnamen = "" Then Exit Sub
Cancel = True
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=" & Bereichsnamen
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
RausMitZwischenAblage 'Zwischenablage leeren
End Sub
Ich habe jetzt mal das Doppelklick-Ereignis genommen.
Ablauf: du markierst deinen Zellbereich, definierst einen Namen, kopierst den Namen in die Zwischenablage, wechselst auf das Blatt auf dem die Gültigkeitsliste rein soll (dort muss natürlich der entsprechende Code hinterlegt sein). Durch Doppelklick in irgendeine Zelle wird dort die Datengültigkeit mit dem Bereichsnamen aus der Zwischenablage erstellt.
Sollte der Code bei der Benutzung mit einer Fehlermeldung aussteigen, dann liegt das vermutlich an einem fehlenden Verweis auf die Microsoft Forms 2.0 Objektlibrary.
Das ist aber kein Problem. Einfach eine Userform anlegen/einfügen, dann wird der entsprechende Verweis automatisch gesetzt.
Die Userform kannst du dann wieder löschen. Beim Speichern der Datei wird der gesetzte Verweis mit gespeichert.
Gruß Werner
Anzeige
AW: Datenprüfung-Makro
23.02.2017 07:47:53
Peter
Hallo Werner
Vielen Dank für deine Lösung. Habe sie soeben getestet. Das mit dem Doppelklick fand ich, als ich es gelesen habe, nicht so toll. Beim Testen musste ich meine Meinung jedoch ändern. Perfekte Lösung. Vielen, vielen Dank!
Schöne Grüsse
Peter
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
23.02.2017 13:14:36
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige