Excel - VBA - Auflistung aus anderer Tabelle

Bild

Betrifft: Excel - VBA - Auflistung aus anderer Tabelle von: Marcel
Geschrieben am: 03.03.2005 12:15:48

Hallo Forum :-)

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 < 15 Then Exit Sub
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...

Bild


Betrifft: AW: Excel - VBA - Auflistung aus anderer Tabelle von: Gert Seler
Geschrieben am: 03.03.2005 13:00:01

Hallo Marcel,
ich hab zwar keine Ahnung von vba aber der Fehler sollte in der ersten Zeile
liegen :

If Target.Column <> 2 Or Target.Row > 400 Or Target.Row < 15 Then Exit Sub

Da steht: Wenn Spalte ungleich 2 ODER Zeile größer 400 ODER Zeile kleiner
15 DANN verlasse Sub.
Heißen sollte es doch : ODER Zeile größer 15 ODER Zeile kleiner 400 ?
Dann tausche die Zahlen aus.

mfg
Gert


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel - VBA - Auflistung aus anderer Tabelle"