不确定这是否可能,但我只是好奇。我知道你可以使VBA在Excel中的某些单元格中自动填充公式,也可以在用户选择的单元格旁边插入列等。但是,是否有可能编写这样的代码:用户选择包含数据1(例如日期)的列,然后选择包含数据2(例如名称)的列,最后选择包含数据3(美元值)的列。然后,代码将在预定义的范围(一个以名称作为行标题,以日期作为列标题的表)上运行,并将SUMIFS公式填充到所有单元格中——用户选择的列作为标准范围,定义的名称行和日期列作为标准。
如果有人能给我指出正确的方向,我将不胜感激。我正在努力弄清楚如何构建这个宏,以便可以在SUMIFS公式中使用用户输入变量,根据用户选择的内容更改公式中的标准范围。让我知道如果这似乎在VBA可能。我已经尝试创建自动填充公式如SUMIF到一个范围的宏,但问题是,公式必须在VBA代码中固定的某些常量。我要找的东西必须是可变的,公式的参数从用户输入中获取。
感谢任何关于这个话题的帮助或知识。谢谢。
在我之前使用的代码中,我需要能够选择一个列,然后在以后使用它
On Error Resume Next
Set columnStart = Application.InputBox("Select the column of the first key", Default:=Selection.Address(0, 0), Type:=8)
On Error GoTo 0
If columnStart Is Nothing Then
MsgBox "Cancelled."
GoTo EndSkip
End If
Set wbV = columnStart.Parent.Parent
columnAddress = columnStart.Address
columnNr = columnStart.Column
wbV.Activate
Set ws = wbV.ActiveSheet
,然后在VLOOKUP
中使用Range("N2:N" & Lastrow).FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-1],'[" & wbV.Name & "]" & ws.Name & "'!C" & columnNr & ",1,0), ""0000NO"")"
这将帮助您如何在公式中使用它们作为变量。我相信我的信息部分来自这里用户输入框选择列来执行操作