Hallo,
Ik ben in een excel bezig om de prijslijsten van verschillende klanten op te halen. Ik kopieer alle gegevens uit een ander workbook naar een sheet in mijn actieve workbook (technical calculation). Ik zoek in de prijslijsten naar de laatste kolom die gevuld is en probeer zo alle klantnamen op te halen en deze in een Range op te slaan om daarmee dynamisch via VBA een data validation list te vullen.
De code is als volgt:
Het probleem zit hem in het vullen van de Range "Choices". Deze blijft leeg waarna ik bij het vullen van de Validation List uitkom in de ErrHandler. Kan iemand me hiermee helpen?
Alvast bedankt!
Ik ben in een excel bezig om de prijslijsten van verschillende klanten op te halen. Ik kopieer alle gegevens uit een ander workbook naar een sheet in mijn actieve workbook (technical calculation). Ik zoek in de prijslijsten naar de laatste kolom die gevuld is en probeer zo alle klantnamen op te halen en deze in een Range op te slaan om daarmee dynamisch via VBA een data validation list te vullen.
De code is als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrHandler
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Dim LastColumnIndex As Integer
Dim Choices As Range
Sheets("Tarieven").Visible = False
'Tarieven ophalen uit bestand van het netwerk en kopieren
Workbooks.Open Filename:="H:\Resource Management\RM Documentation\Templates\Technical Calculation\Tarieven.xls"
Sheets("Prijs afspraken").Cells.Select
Selection.Copy
'Tarieven plakken in Sheet 'Tarieven' in calculatie
Windows("Template Technical Calculation v4.3.xls").Activate
Sheets("Tarieven").Visible = True
Sheets("Tarieven").Activate
ActiveSheet.Cells.Select
ActiveSheet.Paste
'Klantnamen ophalen uit sheet 'Tarieven' en Range zetten voor Validation List
Sheets("Tarieven").Activate
LastColumnIndex = Sheets("Tarieven").Range("B1").End(xlToRight).Column
Set Choices = Range(Cells(1, 2), Cells(1, LastColumnIndex))
'Data validation list selecteren op sheet 'Hourly Rates' en lijst vullen
Sheets("Hourly Rates").Activate
Range("C1").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Choices
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
'Excel Tarieven sluiten
Windows("Tarieven.xls").Activate
ActiveWindow.Close
Sheets("Tarieven").Visible = False
Sheets("Hourly Rates").Select
ErrHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub |
Het probleem zit hem in het vullen van de Range "Choices". Deze blijft leeg waarna ik bij het vullen van de Validation List uitkom in de ErrHandler. Kan iemand me hiermee helpen?
Alvast bedankt!