Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel I';我在用vlookup将公式输入VBA单元格时遇到了一个奇怪的问题_Excel_Vba_Vlookup - Fatal编程技术网

Excel I';我在用vlookup将公式输入VBA单元格时遇到了一个奇怪的问题

Excel I';我在用vlookup将公式输入VBA单元格时遇到了一个奇怪的问题,excel,vba,vlookup,Excel,Vba,Vlookup,我正试图将公式输入到细胞O2中,但当我这样做时,我有了#名字?而不是vlookup函数应该传递的内容。如果我在excel中手动单击该单元格中的公式,然后单击“输入”,它将开始工作 Range("O2").Formula = "=VLOOKUP(F2,Reference_substances!B:C,2,0)" 当我手动“编辑”宏放在该单元格中的公式时,会发生一些情况,但实际上我并没有更改任何内容。我不知道这是否重要,但工作表“参考物质”是用不同的宏创建的

我正试图将公式输入到细胞O2中,但当我这样做时,我有了#名字?而不是vlookup函数应该传递的内容。如果我在excel中手动单击该单元格中的公式,然后单击“输入”,它将开始工作

Range("O2").Formula = "=VLOOKUP(F2,Reference_substances!B:C,2,0)"
当我手动“编辑”宏放在该单元格中的公式时,会发生一些情况,但实际上我并没有更改任何内容。我不知道这是否重要,但工作表“参考物质”是用不同的宏创建的(首先我运行一个创建工作表参考物质的宏,然后运行一个包含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的波兰名称(我用英文版试过了,也是一样)

欢迎使用SO。您缺少工作表名称周围的字符串限定符:
“=VLOOKUP(F2,'Reference_substances'!B:C,2,0)”
@苦艾酒如果工作表名称中没有空格,我认为不需要这些限定符。您想将此公式放在哪里?在哪个工作表中?如果您刚刚创建了工作表
Reference\u substances
,则它已成为活动工作表。请尝试使用例如
ThisWorkbook.Worksheets(“Sheet1”).Range…
@Abssite完全限定工作表。添加它们不会改变任何东西。遗憾的是,如果我“编辑”了它,它仍然有效。当通过VBA添加公式时,您应该使用英文名称,而不是本地名称,除非您使用
FormulaLocal