Excel VBA - 基于循环工作表的单元格值在工作表上执行公式

时间:2016-04-20 12:31:02

标签: excel-vba for-loop vba excel

我目前有这段代码 -

For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Uptime" Then
   Worksheets("Uptime").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = ws.Name

循环遍历所有工作表并将sheetName添加到Col.A。

我现在正在努力的是我在Col.B中想要的公式。我的所有工作表在单元格ET40中都有一个计算值。

我想获取该值,应用公式=(ET40/60)/24,然后将其放置在我的&#34; Uptime&#34;中的Col.B中的相应单元格中。片。我正在努力解决这个问题。

我已经尝试过 - Worksheets("Uptime").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Formula = "=(ET40/60)/24" 但我认为只是试图寻找ET40&#34;正常运行时间&#34;这是空的。

我不确定如何在该行代码中获取公式以查看循环中的当前工作表。

编辑 -

使用Rory帮助撰写的完整代码

Sub Uptime()

Dim ws As Worksheet

Application.ScreenUpdating = False

For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> "Uptime" Then
       With Worksheets("Uptime").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
        .Value2 = ws.Name
        .Offset(, 1).Formula = "=('" & ws.Name & "'!ET40/60)/24"
       End With
    End If
Next ws


End Sub

1 个答案:

答案 0 :(得分:1)

您只需要添加工作表名称:

value_solve