У меня есть маленький макрос, и я хотел бы, чтобы он выполнял следующее: в первом поле ввода пользователю предлагается выбрать пустой диапазон, в котором он хочет, чтобы в каждой ячейке этого диапазона был дебет / кредит… Второе поле ввода попросите пользователя выбрать диапазон сумм (каждая сумма в каждой ячейке этого диапазона может быть как отрицательной, так и положительной). Затем из этих 2 выборок я хотел бы, чтобы он возвращал «D» (дебет) или «C» (кредит) в каждой ячейке, где был выбран диапазон первого поля ввода. К сожалению, мой макрос не работает должным образом, действительно, когда я пытаюсь выполнить его, он возвращает мне #NAME? (вместо «C» или «D») В каждой ячейке диапазона, выбранного через мое первое поле ввода. Например, на рисунке ниже я выбрал в своем 1-м поле ввода диапазон K2: K5 (как пустой диапазон), а через мой второй блок ввода - диапазон C2: C5, после выполнения макроса он возвращает мне #NAME в каждой ячейке диапазона К2: К5.
Большое спасибо заранее за вашу помощь.
Хави
Пожалуйста, найдите мой код VBA ниже:
Sub ReturncorrectCreditdebitcolumnbasedonselectioninputbox()
Dim c As Range
Dim WorkRng2 As Range
Dim WorkRng As Range
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Please select the range where you want your Dedit/Credit", xTitleId, WorkRng.Address, Type:=8)
Set WorkRng2 = Application.Selection
Set WorkRng2 = Application.InputBox("Please select the range of amounts", xTitleId, WorkRng.Address, Type:=8)
For Each c In WorkRng
c.FormulaR1C1 = _
"=If(WorkRng2.Value>0, ""D"",""C"")"
Next c
End Sub
![enter image description here](https://i.stack.imgur.com/WPs5A.jpg)