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

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

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

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

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

68 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige