我想提出一些必须像这样的公式
sheet3.a1.value = "=sheet2!a1=Sheet1!a1"
我试图通过使用静态值的VBA来实现这一点
请找到以下代码
Sub test()
Dim RowValue, ColumnValue As String
RowValue = InputBox("Enter Row Number")
ColumnValue = InputBox("Enter Column Number")
RangeValue = RowValue + ColumnValue
Sheet3.Range("A1:" & RangeValue).Value = "=Data1!" & "Range" & "=Data2!" & "Range"
End Sub
不要使用InputBox
。使用Application.InputBox。它让你指定Type:=
这是你正在尝试的(未经测试)?
Sub test()
Dim RowValue As Long, ColumnValue As String
Dim rng As Range
'<~~ Type:=1 ==> Numeric Value
RowValue = Application.InputBox(Prompt:="Enter Row Number", Type:=1)
'<~~ Type:=2 ==> TextValue
ColumnValue = Application.InputBox(Prompt:="Enter Column Number", Type:=2)
'~~> Check if the user entered valid values
On Error Resume Next
Set rng = Range(ColumnValue & RowValue)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "Wrong parameters specified"
Exit Sub
End If
Sheet3.Range("A1:" & rng.Address).Formula = "=Data1!" & _
rng.Address & _
"=Data2!" & rng.Address
End Sub
如果使用公式填充范围,则相对(非绝对)公式将相对于其原点位置调整公式。
Sub test()
Dim RowValue as LONG, ColumnValue As String, RangeValue As String
RowValue = InputBox("Enter Row Number")
ColumnValue = InputBox("Enter Column LETTER")
RangeValue = ColumnValue & RowValue
Sheet3.Range("A1:" & RangeValue).FORMULA = "=Data1!A1=Data2!A1"
End Sub
你可以尝试:
Option Explicit
Sub test()
Dim RowValue As Long, ColumnValue As Long, RangeValue As Long
RowValue = InputBox("Enter Row Number")
ColumnValue = InputBox("Enter Column Number")
Sheet3.Range(Cells(1, 1), Cells(RowValue, ColumnValue)).Formula = "=Data1!A1=Data2!A1"
End Sub
以下代码将查询行号和列号,并在所需单元格中输入硬编码字符串:
Sub test()
Dim RowValue, ColumnValue As Long
Dim RangeValue As String
RowValue = InputBox("Enter Row Number")
ColumnValue = InputBox("Enter Column Number")
Worksheets("Sheet3").Cells(RowValue, ColumnValue).Value = "=Data1!" & "Range" & "=Data2!" & "Range"
End Sub