溢出错误,并需要帮助将相同的vba代码应用于工作簿中的活动工作表

我目前正在工作在一个VBA繁殖和同一工作表中的列之间进行划分。

以下是我的代码

Sub test1() Dim i As Long For i = 3 To 100 Cells(i, 12) = (Cells(i, 8)) / (Cells(i, 6)) / 10 * 0.85 Cells(i, 13) = (Cells(i, 9)) / (Cells(i, 6)) / 10 * 0.85 Next i End Sub 
  1. 但是,我在代码的第4行收到Overflow错误。 有什么build议吗?
  2. 另外我想让程序运行当前工作簿中当前正在处理的所有活动工作表。

提前致谢

你会得到一个错误,因为你的一个分割单元是空的

实际上,你将这个公式放在L3:M100
=IF($F3<>"",(H3/$F3)/10*0.85,"")

这可以在所有表​​格中完成,如下所示

(你可以logging一个macros,看看这个公式应该在VBA中看起来如何)

 Sub ReCut() Dim ws As Worksheet For Each ws In ActiveWorkbook.Sheets With ws.Range("L3:M100") .FormulaR1C1 = "=IF(RC6<>"""",(RC[-4]/RC6)/10*0.85,"""")" .Value = .Value End With Next End Sub 

要么:

 Sub M_snb() [L3:M100] = [index(if(F3:F100="","",H3:I100/F3:F100/8.5),)] End Sub 
 Try this Sub test1() Dim i, j As Integer Dim Ws As Worksheet For j = 1 To ThisWorkbook.Sheets.Count Set Ws = ThisWorkbook.Sheets(j) For i = 3 To 100 Ws.Cells(i, 12) = (Ws.Cells(i, 8)) / (Ws.Cells(i, 6)) / 10 * 0.85 Ws.Cells(i, 13) = (Ws.Cells(i, 9)) / (Ws.Cells(i, 6)) / 10 * 0.85 Next i Next End Sub