J'essaie de corriger une erreur VBA pour un code que j'ai créé pour afficher les valeurs de zone de liste dans Excel. Quelqu'un peut-il aider s'il vous plaît?Erreur VBA pour un code de zone de liste
Dim lbValue As Long
lbValue = Summary.ListBoxes("BusinessOwnerListBox").Value
Dim lbtext As String
With Summary.ListBoxes("BusinessOwnerListBox").ControlFormat
lbtext = .List(.Value)
End With
La liste est multi-sélection unique et les éléments sont ajoutés en utilisant Ajouter un élément. Les éléments sont affichés dans le formulaire, mais la valeur de liste choisie ne figure pas dans la feuille de calcul lors de l'exécution du code.
complet Code
Private Sub CancelButton_Click()
Unload Me
End Sub
Private Sub ClearButton_Click()
Call UserForm_Initialize
End Sub
Private Sub InitialTermListBox_Click()
End Sub
Private Sub OKButton_Click()
Dim emptyRow As Long
'Make Summary active
Summary.Activate
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
'Transfer information
Cells(emptyRow, 1).Value = SupplierNameTextBox.Value
Cells(emptyRow, 3).Value = GeneralDescriptionTextBox.Value
Cells(emptyRow, 5).Value = DepartmentListBox.Value
Cells(emptyRow, 6).Value = ContractStartDateTextBox.Value
Cells(emptyRow, 7).Value = InitialTermListBox.Value
Cells(emptyRow, 8).Value = RenewalTermListBox.Value
Cells(emptyRow, 9).Value = PaymentTermsListBox.Value
Cells(emptyRow, 10).Value = SelectionMechanismListBox.Value
Cells(emptyRow, 11).Value = ValueOfContractTextBox.Value
Dim lbtext As Variant
lbtext = BusinessOwnerListBox.Value
Worksheets("Summary").Cells(emptyRow, 4).Value = lbtext
If SignedContractCheckBox.Value = True Then Cells(emptyRow, 2).Value = SignedContractCheckBox.Caption
End Sub
Private Sub PaymentTermsListBox_Click()
End Sub
Private Sub RenewalTermListBox_Click()
End Sub
Private Sub SelectionMechanismListBox_Click()
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
'Empty SupplierNameTextBox
SupplierNameTextBox.Value = ""
'Uncheck SignedContractCheckBox
SignedContractCheckBox.Value = False
'Empty GeneralDescriptionTextBox
GeneralDescriptionTextBox.Value = ""
'Empty BusinessOwnerListBox
BusinessOwnerListBox.Clear
'Fill BusinessOwnerListBox
With BusinessOwnerListBox
.AddItem ""
.AddItem "Alison Gillies"
.AddItem "Bernard Hunwick"
.AddItem "Jon Williams"
.AddItem "Laurent Sylvestre"
.AddItem "Leeann McCallum"
.AddItem "Sue Lowe"
End With
'Empty DepartmentListBox
DepartmentListBox.Clear
'Fill DepartmentListBox
With DepartmentListBox
.AddItem ""
.AddItem "Buildings"
.AddItem "Corporate Services"
.AddItem "ICT"
.AddItem "People & Culture"
.AddItem "Transport & Logistics"
End With
'Empty ContractStartDateTextBox
ContractStartDateTextBox.Value = ""
'Empty InitialTermListBox
InitialTermListBox.Clear
'Fill InitialTermListBox
With InitialTermListBox
.AddItem ""
.AddItem "6"
.AddItem "12"
.AddItem "18"
.AddItem "24"
.AddItem "36"
End With
'Empty RenewalTermListBox
RenewalTermListBox.Clear
'Fill RenewalTermListBox
With RenewalTermListBox
.AddItem ""
.AddItem "6"
.AddItem "12"
.AddItem "18"
.AddItem "24"
.AddItem "36"
End With
'Empty PaymentTermsListBox
PaymentTermsListBox.Clear
'Fill PaymentTermsListBox
With PaymentTermsListBox
.AddItem ""
.AddItem "7 days"
.AddItem "30 days"
.AddItem "20th month"
.AddItem "Quarterly"
.AddItem "Annual"
End With
'Empty SelectionMechanismListBox
SelectionMechanismListBox.Clear
'Fill SelectionMechanismListBox
With SelectionMechanismListBox
.AddItem ""
.AddItem "RolledContract"
.AddItem "RFP"
.AddItem "RFQ"
.AddItem "3 Quotes"
.AddItem "2 Quote"
.AddItem "Business Selection"
End With
'Empty ValueOfContractTextBox
ValueOfContractTextBox.Value = ""
'Set Focus on SupplierNameTextBox
SupplierNameTextBox.SetFocus
End Sub
Peut-être se débarrasser de '.ControlFormat'? – YowE3K
'lbtext = .List (.Value)' tout ce que fait est de définir la valeur d'une variable de chaîne? –
Je suis confus par la déclaration "List is multi select single". Est-ce une sélection multiple ou une sélection unique? (Mais je n'utilise très rarement [c'est-à-dire jamais] les listboxes dans Excel, donc peut-être que "multi select single" est vraiment une chose et je ne sais pas de quoi je parle.) – YowE3K