В столбце B у меня есть список компаний. У меня есть combobox под названием ComboBox1 в верхней части листа, а также кнопка с именем InsertContact1. Комбобокс вытаскивает всю компанию из столбца B, и я хочу, чтобы пользователь выбрал Company D из раскрывающегося списка и нажал кнопку контакта вставки, он найдет компанию в столбце B и вставьте строку ниже - которая позволит пользователю ввести контакт для этой компании в другой столбец (вручную на данный момент).Вставить строку, основанную на значении в ActiveX combobox
Вот мой код до сих пор ... Я не слишком уверен, где я ошибаюсь, но получаю сообщение об ошибке «Аргумент не является необязательным».
Это код, который я до сих пор в Лист1 (База данных):
Public Function ContactAdd(SearchedCompany As String) As Long
Dim cF As Range
With Worksheets("Database").Range("B:B")
Set cF = .Find(What:=Worksheets("Database").ComboBox1, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not cF Is Nothing Then
cF.Offset(1, 0).EntireRow.Insert
ContactAdd = cF.Offset(1, 0).Row
Exit Function
End If
End With
ContactAdd = 0
End Function
Private Sub InsertContact1_Click()
ContactAdd
End Sub
Частный саб для кнопки вызова функции, однако это то, что продолжает получать сообщение об ошибке. Где я иду не так?
Необходимо передать аргумент функции ContactAdd. Как ContactAdd («somecompany») – Alex4336
О, отлично, я этого не понимал. Он работает, когда я просто использую любой текст ... что это делает? – Chris
Способ, которым он работает, заключается в том, что ваша функция ContactAdd принимает аргумент SearchedCompany в виде строки. На данный момент вы не используете эту строку ни для чего, поэтому вы можете просто удалить аргумент из функции, а затем вызвать функцию без каких-либо аргументов. – Alex4336