Excel Visual Basic

Alan_Bastard

Pripravnik
12. dec 2007
165
1
18
Ljubljana
V Excelovem dokumentu sem pripravil kar obsežno tabelo, ki ima več stolpcev s spustnim seznamom in bi rad, da bi pri večjem številu (100+) bila možnost iz spustnega seznama izbrati več možnosti.

Napisal oz. prekopiral sem spodnje, ki pa omogoča samo, da se navede v katerih stolpcih (označeno z modro) je možno izbrati več možnosti iz spustnega seznama. Zanima me kako naj napišem, da se bo to nanašalo na celo tabelo oz. list oz. kar cel Excelov dokument, ker je res veliko stolpcev.

Hvala

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Column = 15 Or Target.Column = 16 Or Target.Column = 17 Or Target.Column = 18 Or Target.Column = 19 Or Target.Column = 20 Or Target.Column = 21 Or Target.Column = 22 Or Target.Column = 23 Or Target.Column = 24 Or Target.Column = 25 Or Target.Column = 26 Or Target.Column = 30 Or Target.Column = 31 Or Target.Column = 32 Or Target.Column = 33 Or Target.Column = 34 Or Target.Column = 35 Or Target.Column = 36 Or Target.Column = 37 Or Target.Column = 38 Or Target.Column = 39 Or Target.Column = 40 Or Target.Column = 41 Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub