Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Validierungsliste kopieren, InCell Dropdown

Validierungsliste kopieren, InCell Dropdown
12.03.2015 16:09:16
Allan
Hallo zusammen
Ich habe Probleme mit meinem Code. Irgendwie funktoniert der Verweis auf "lRow" nicht, sobald ich die Range-Methode wähle, um ein InCell Dropdown zu definieren.
Freue mich über jede Hilfe. Besten Dank im Voraus.
Liebe Grüsse
AB
Sub NeueZeileZusatzVollmandat()
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim eRow As Long
Dim lRow As Long
Set ws2 = Worksheets("VollmandatNormal")
Set ws = Worksheets("Lookup_VM_normal")
eRow = ws2.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=  _
_
xlValues).Row + 1
lRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=  _
_
xlValues).Row
ws.Rows(27).Copy ws2.Rows(eRow)
With ws2.Range(lRow).Validation
.Add xlValidateList, xlValidAlertStop, xlBetween, "=Lookup_VM_normal!$A$17:$A$22"
.InCellDropdown = True
End With
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Da fehlt die Spaltenangabe bei Range(lRow)
12.03.2015 16:26:43
Christian
hallo Allan,
Range erwartet eine Zelladresse oder Bereichsadresse und nicht nur eine Zeilennummer.
Bsp:
ws2.Range("A1:B2")
ws2.Range(ws2.cells(1, 1), ws2.Cells(2,2))
Wenn du nur eine Zelle ansprichst kannst auch gleich "Cells" nehmen.
Bsp:
ws2.Cells(lRow, 1)
Gruß
Christian

Anzeige
AW: Da fehlt die Spaltenangabe bei Range(lRow)
12.03.2015 16:44:50
Allan
Sali Christian
Besten Dank für deine Antwort und für die Lehrstunde betreffend Ranges. Ich kann das Problem jetzt präziser definieren: Ich bekomme eine Laufzeit-Fehlermeldung bei:
.Add xlValidateList, xlValidAlertStop, xlBetween, "=Lookup_VM_normal!$A$17:$A$22"

Ich vermute beim Übertragen einer Validierungsliste aus einem anderem Worksheet spinnt mein VBA Code...
Hier nochmals mein gesamtes Cödchen:

Sub NeueZeileZusatzVollmandat()
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim eRow As Long
Dim lRow As Long
Set ws2 = Worksheets("VollmandatNormal")
Set ws = Worksheets("Lookup_VM_normal")
eRow = ws2.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=  _
_
_
xlValues).Row + 1
lRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=   _
_
_
xlValues).Row
ws.Rows(27).Copy ws2.Rows(eRow)
With ws.Cells(lRow, 1).Validation
.Add xlValidateList, xlValidAlertStop, xlBetween, "=Lookup_VM_normal!$A$17:$A$22"
.InCellDropdown = True
End With
End Sub

Besten Dank für Weiterhilfe...
Liebe Grüsse
AB

Anzeige
AW: Da fehlt die Spaltenangabe bei Range(lRow)
12.03.2015 19:12:22
Christian
dann würde ich konform zum Makrorecorder vorgehen und eine evtl. vohandene Liste zuerst löschen.
With ws.Cells(lRow, 1).Validation
.Delete
.Add ... usw.
End With
Gruß
Christian

AW: Da fehlt die Spaltenangabe bei Range(lRow)
12.03.2015 21:20:18
Allan
Ich bin zwar kein Fan des Makrorecorders - aber cool - auf diesem Weg funktioniert es.
Besten Dank Christian und einen schönen Abend!
Liebe Grüsse
AB

Anzeige
Danek für die Rückmeldung
12.03.2015 21:56:25
Christian
ich bin auch kein Freund des Makrorecorders, aber da ich mir nicht alle Methoden und Eigenschaften aller Objekte für alle Zeiten merken kann, hilft der Recorder manchmal auf die Sprünge.
So ist im Beispielcode der VBA-Hilfe zu "Validation-Objekt" eben genau das hier eingesetzte "Delete" nicht aufgeführt, dafür aber eine Variante mit "Modify". Mit dem "Delete" und einem erneuten "Add" bist du aber auf der sicheren Seite.
Der Mix aus:
- Erfahrung / Wissen
- Objekt-Katalog
- VBA-Hilfe
- Macrorecorder
- Internetrecherche
führt idR. zum Ziel. Und falls nicht, gibt's ja noch das Forum.
Grüße
Christian
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige