Excel VBA 2013 仅自定义子 粘贴未使用 FormulaR1C1 在单元格中执行
Excel VBA 2013 Customised Sub only Pasted not executed in cell with use of FormulaR1C1
我已经编写了一个特定的子程序来格式化来自另一个单元格的数据。
Sub Macro3()
'>> First record to get the original code in Testing.xlsm <<
Range("F5").Select
ActiveCell.FormulaR1C1 = "=fG_ReFormattingInvoiceNumber(RC[-3],3)"
Range("H5").Select
ActiveWorkbook.Save
'>>> I wrote in my application this line => ReInvoicingWBook.Sheets _
' (G_sheetNameREINVOICinG).Range("U5").FormulaR1C1 = _
' "=fG_ReFormattingInvoiceNumber(RC[-19],3)"
End Sub
问题是 ReInvoicingWBook.Sheets(G_sheetNameREINVOICinG).Range("U5")
单元格只是用公式填充但没有执行。
ReInvoicingWBook
是由我正在开发并在其中编写的 Excel 应用程序打开的文件。
然而,调用 fG_ReFormattingInvoiceNumber()
在原始文件 Testing.xlsm
/ Sub Macro3
中我捕获了 VBA 行。
我看到的第一件事是 ReInvoicingWBook
是一个指向我的应用程序监视的文件 XLSM 的指针。也许,这是一个原因...
感谢您提供的任何解决方案或帮助。
您可以使用 .Calculate
.
强制计算单元格
Sub Macro3()
Range("F5").FormulaR1C1 = "=fG_ReFormattingInvoiceNumber(RC[-3],3)"
Range("F5").Calculate
ActiveWorkbook.Save
End Sub
作为一般规则,始终 使用 Option Explicit
,避免使用 .Select
和 .Activate
。另外,完全限定你的范围(这是我在上面的例子中没有做的事情,因为我没有上下文)。
我找到了它不起作用的原因:单元格的格式是文本格式,而它必须是常规格式。现在好了。
我已经编写了一个特定的子程序来格式化来自另一个单元格的数据。
Sub Macro3()
'>> First record to get the original code in Testing.xlsm <<
Range("F5").Select
ActiveCell.FormulaR1C1 = "=fG_ReFormattingInvoiceNumber(RC[-3],3)"
Range("H5").Select
ActiveWorkbook.Save
'>>> I wrote in my application this line => ReInvoicingWBook.Sheets _
' (G_sheetNameREINVOICinG).Range("U5").FormulaR1C1 = _
' "=fG_ReFormattingInvoiceNumber(RC[-19],3)"
End Sub
问题是 ReInvoicingWBook.Sheets(G_sheetNameREINVOICinG).Range("U5")
单元格只是用公式填充但没有执行。
ReInvoicingWBook
是由我正在开发并在其中编写的 Excel 应用程序打开的文件。
然而,调用 fG_ReFormattingInvoiceNumber()
在原始文件 Testing.xlsm
/ Sub Macro3
中我捕获了 VBA 行。
我看到的第一件事是 ReInvoicingWBook
是一个指向我的应用程序监视的文件 XLSM 的指针。也许,这是一个原因...
感谢您提供的任何解决方案或帮助。
您可以使用 .Calculate
.
Sub Macro3()
Range("F5").FormulaR1C1 = "=fG_ReFormattingInvoiceNumber(RC[-3],3)"
Range("F5").Calculate
ActiveWorkbook.Save
End Sub
作为一般规则,始终 使用 Option Explicit
,避免使用 .Select
和 .Activate
。另外,完全限定你的范围(这是我在上面的例子中没有做的事情,因为我没有上下文)。
我找到了它不起作用的原因:单元格的格式是文本格式,而它必须是常规格式。现在好了。