Ich hoffe, dass mir irgend jemand helfen kann:
Ich möchte eine Auswahlliste erzeugen, aus der ich Values von einem anderen Tabellenblatt auswähle (über Worksheet_SelectionChange). Die Spalte der anderen Tabelle wird in eine Spalte der aktuellen Tabelle kopiert. Das funktioniert auch soweit. Nur sobald ich eine Auswahl aus der Liste treffe scheint er die komplette Spalte zu kopieren und mein rechter Scrollbalken mit mini-klein, die letzte bearbeitete Zeile wird sofort mit 65536 angegeben.
Kann ich irgendwie diese kopieraktion auf die ersten 100 zeilen beschränken?
Ich habe schon mit for-to-next und if-then-else probiert, es aber nicht hinbekommen...vielleicht kann man die ClearContents-Anweisung auf 100 Zeilen begranzen, jetzt löscht er ja über die ganze Spalte hinweg?! Das problem ist danach beim Einfügen oder Entfernen von Zeilen, dass er ewig rechnet, da eine worksheet_change auch mit im vba steht und er wahrscheinlich alle 65535 Zeilen berechnet.
hier der quellcode:
-----------------------------------------------------------------------
If Target.Column 2 Or Target.Row > 400 Or Target.Row With Columns(15)
.ClearContents
.Value = Worksheets(Range("Bereich1").Value).Columns(Target.Column).Value
End With
Select Case Target.Column
Case 2
With Target.Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="=O2:O99"
End With
End Select
-----------------------------------------------------------------------
Vielen Dank für die Hilfe im Voraus...