excel - 我遇到了一个奇怪的问题,将带有 vlookup 的公式输入到带有 VBA 的单元格中
问题描述
我正在尝试将公式输入到单元格 O2 中,但是当我这样做时,我有 #NAME?在它们中,而不是应该转移的 vlookup 函数。如果我在excel中手动单击该单元格中的公式,然后单击Enter,它就会开始工作。
Range("O2").Formula = "=VLOOKUP(F2,Reference_substances!B:C,2,0)"
当我手动“编辑”我的宏放入该单元格的公式时会发生一些事情,但我实际上并没有改变任何东西。我不知道这是否重要,但工作表“Reference_substances”是使用不同的宏创建的(首先我运行一个创建工作表 Reference_substances 的宏,然后运行其中包含 vlookup 的宏)。
编辑:添加代码。
Sub Raport()
Dim n1 As Integer
Dim n2 As String
Dim n3 As String
Dim n4 As String
Dim n5 As String
n1 = Worksheets("Zmienne").Range("B1")
n2 = Worksheets("Zmienne").Range("B2")
n3 = Worksheets("Zmienne").Range("B3")
n4 = Worksheets("Zmienne").Range("B4")
n5 = Worksheets("Zmienne").Range("B5")
Dim n1_1 As Integer
Dim n1_2 As Integer
Dim n1_3 As Integer
Dim n1_4 As Integer
n1_1 = n1 + 1 '121
n1_2 = n1 + 12 '132
n1_3 = n1 + 16 '136
n1_4 = n1 + 136 '256
Sheets.Add.Name = "Raport"
Worksheets(n2).Range("A12:A" & n1_2).Copy Worksheets("Raport").Range("A1:A" & n1_1)
Worksheets(n2).Range("B12:B" & n1_2).Copy Worksheets("Raport").Range("B1:B" & n1_1)
Worksheets(n2).Range("D" & n1_3 & ":D" & n1_4).Copy Worksheets("Raport").Range("C1:C"
& n1_1)
Worksheets(n2).Range("G" & n1_3 & ":G" & n1_4).Copy Worksheets("Raport").Range("G1:G"
& n1_1)
Worksheets(n2).Range("F12:F" & n1_2).Copy Worksheets("Raport").Range("H1:H" & n1_1)
Worksheets(n2).Range("C" & n1_3 & ":C" & n1_4).Copy Worksheets("Raport").Range("N1:N"
& n1_1)
Worksheets(n2).Range("K13:K" & n1_2).Copy Worksheets("Raport").Range("Q2:Q" & n1_1)
Range("H1").Value = "Area 48h"
Range("I1").Value = "Area 48h_2"
Range("J1").Value = "Area 28d"
Range("K1").Value = "Area 28d_2"
Range("L1").Value = "C Tol 48h"
Range("M1").Value = "C Tol 28d"
Range("L2").Select
ActiveCell.FormulaR1C1 = "=(((RC[-4]+RC[-3])/2)/18159)/5"
Range("L2").Select
Selection.AutoFill Destination:=Range("L2:L" & n1_1)
Range("M2").Select
ActiveCell.FormulaR1C1 = "=(((RC[-3]+RC[-2])/2)/18159)/5"
Range("M2").Select
Selection.AutoFill Destination:=Range("M2:M" & n1_1)
Range("D1").Value = "C2_wz"
Range("E1").Value = "C28_wz"
Range("F1").Value = "Wzorzec"
Range("O1").Value = "a"
Range("P1").Value = "Quantific"
Range("D2").FormulaR1C1 = "=(((RC[+4]+RC[+5])/2)/RC[+11])/5"
Range("D2").AutoFill Destination:=Range("D2:D" & n1_1)
Range("E2").FormulaR1C1 = "=(((RC[+5]+RC[+6])/2)/RC[+10])/5"
Range("E2").AutoFill Destination:=Range("E2:E" & n1_1)
Range("F2").Formula = "=WYSZUKAJ.PIONOWO(C2,Zmienne!A:B,2,0)"
Range("F2").AutoFill Destination:=Range("F2:F" & n1_1)
Range("O2").Formula = "=WYSZUKAJ.PIONOWO(F2,Reference_substances!B:C,2,0)"
Range("O2").AutoFill Destination:=Range("O2:O" & n1_1)
Worksheets(n2).Range("K12:K" & n1_2).Copy Worksheets("Raport").Range("Q1:Q" & n1_1)
Columns("A:Q").EntireColumn.AutoFit
Range("Q:Q").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub
这有点乱,因为我最近才开始使用 VBA,而且一些名称和 vlookup 函数也是波兰语。
WYSZUKAJ.PIONOWO 是 VLOOKUP 的波兰语名称(我试过用英文版,它是一样的)
解决方案
推荐阅读
- arrays - 开始日期和结束日期的 Sas 循环
- r - R - 乳胶出口中的红色负数
- google-chrome - 由于“无法连接到渲染器”错误,Selenium Webdriver 测试未在 Chrome 无头上运行
- python-3.x - 不使用 numpy 打印下三角矩阵
- c# - 无法连接到 C# Visual Studio 中的 sql 无法登录
- java - PHP和Java之间的LZString压缩数据
- php - 桌面/Webapp 共享数据库覆盖重复键上的数据
- c++ - 获取类成员函数的地址并从指针调用它
- tensorflow - 安装包“conda-forge::astor-0.7.1-py_0”时出错
- java - 如何使用 Apache POI 将图片大小调整为段落大小?