2个问题,我已复制的程序并将另一个工作表中的表粘贴到您选择的单元格中。我想要做的是使用变量命名这个选定的表,我该怎么做?换句话说,我已经在底部(Selection.Name = Ans),但这不会命名所选的变量Ans是什么
由于某些原因,Vlookup也无法正常工作,我认为这与我如何设置范围“MyRange”有关。
“VLOOKUP
Dim Ans As Variant
Dim myVal As String
Dim MyRange As Range
Set MyRange = Sheets("Program (H)").Range("A1:B50")
myVal = Sheets("Program (H)").Range("D2")
Ans = Application.VLookup(myVal, MyRange, 2, False)
If IsError(Ans) Then
Ans = "Not Found!"
Else
'do nothing
End If
Selection.Name = Ans
如果它有助于整个代码:
Sub New_Table()
' New_Table Macro
'Reveals the Worksheet "Program (H)"
With Worksheets("Program (H)")
.Visible = True
End With
'Add 1 to the counter
Sheets("Program (H)").Select
Range("D2").Value = Range("D2").Value + 1
'Paste the sheet
Sheets("Caclulator (H)").Select
Range("B3:P17").Select
Selection.Copy
Sheets("SOR Data").Select
ActiveSheet.Paste
'VLOOKUP
Dim Ans As Variant
Dim myVal As String
Dim MyRange As Range
Set MyRange = Sheets("Program (H)").Range("A1:B50")
myVal = Sheets("Program (H)").Range("D2")
Ans = Application.VLookup(myVal, MyRange, 2, False)
If IsError(Ans) Then
Ans = "Not Found!"
Else
'do nothing
End If
Selection.Name = Ans
'Hide the sheet again
With Worksheets("Program (H)")
.Visible = False
End With
End Sub
答案 0 :(得分:0)
问题解决了!我在VBA中杀死了VLOOKUP,在excel中的单个单元格中执行了它,只是引用了该单元格来命名表格,这样更容易,只需要使用一行
使用:
Selection.Name = Worksheets("Program (H)").Range("F2")
其中F2是excel中的VLOOKUP