Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
VBA[R1C1样式]中可能存在单元格引用错误_Vba_Excel - Fatal编程技术网

VBA[R1C1样式]中可能存在单元格引用错误

VBA[R1C1样式]中可能存在单元格引用错误,vba,excel,Vba,Excel,我在运行这个宏时遇到了一个问题-它以前工作过,但是现在第6行在一台新计算机(也是较新版本的Excel)上给了我一个错误。这里有明显的问题吗 Sub CalculateDifferences() Dim Col As Long Col = Worksheets("AgedDebtors").Range("Z2").End(xlToLeft).Column Worksheets("AgedDebtors").Range("Z2").End(xlToLeft).Value = "Differen

我在运行这个宏时遇到了一个问题-它以前工作过,但是现在第6行在一台新计算机(也是较新版本的Excel)上给了我一个错误。这里有明显的问题吗

Sub CalculateDifferences()

Dim Col As Long

Col = Worksheets("AgedDebtors").Range("Z2").End(xlToLeft).Column

Worksheets("AgedDebtors").Range("Z2").End(xlToLeft).Value = "Difference"
Worksheets("AgedDebtors").Range("H1").Value = Worksheets("PivotTable").Range("Z2").End(xlToLeft).Column - 2
Worksheets("AgedDebtors").Range(Cells(3, Col), Cells(Range("A65535").End(xlUp).Row, Col)).Formula = "=$G3 - VLOOKUP($F3,PivotTable!$A$2:$J$3500, $H$1, FALSE)"
End Sub

您尚未使用工作表限定两个单元格(和一个额外范围)调用:

Worksheets("AgedDebtors").Range(Worksheets("AgedDebtors").Cells(3, Col), Worksheets("AgedDebtors").Cells(Worksheets("AgedDebtors").Range("A65535").End(xlUp).Row, Col)).Formula = "=$G3 - VLOOKUP($F3,PivotTable!$A$2:$J$3500, $H$1, FALSE)"
但您可以使用
with…End with
块来整理所有内容:

Sub CalculateDifferences()

Dim Col As Long
with Worksheets("AgedDebtors")
Col = .Range("Z2").End(xlToLeft).Column

.Range("Z2").End(xlToLeft).Value = "Difference"
.Range("H1").Value = Worksheets("PivotTable").Range("Z2").End(xlToLeft).Column - 2
.Range(.Cells(3, Col), .Cells(.Range("A65535").End(xlUp).Row, Col)).Formula = "=$G3 - VLOOKUP($F3,PivotTable!$A$2:$J$3500, $H$1, FALSE)"
end with
End Sub

就像过去一样。:)