首页 > 解决方案 > VBA 计数 - 它是如何工作的

问题描述

下面是部分代码(自学):

Sub CopyWorkbook()
    Dim aw As Workbook
    Dim y As Workbook
    Dim sh As Worksheet

    Set aw = Application.ActiveWorkbook
    Set y = Application.Workbooks.Open("S:\Proefbalanse\PastelTB\Segmented General Ledger Trial Balance.XLS")
    'To rename worksheet in Pastel File
    y.Sheets(1).Name = "SGLT"

    For i = 3 To aw.Sheets.Count
        Set sh = SGLT

请解释“For i = 3 To aw.Sheets.Count”

它是指 20 张工作簿中左起第三张,还是表示“第 3 张”。如果我想将 Sheet 13 设置为 SGLT,代码必须是:“For i = ? To aw.Sheets.Count”

谢谢你的解释。

亲切的问候

约翰

标签: excelvba

解决方案


aw 是您的活动 Excel 工作簿。它可能有多个工作表。假设它有 20 张纸。

aw.Sheets.Count 将为 20。

For i = 3 到 20 意味着 For 循环中的所有语句都将在工作表 #3(左起第三个)上工作,然后是工作表 #4,依此类推,直到工作表 #20

要使代码仅在工作表 3 上工作,只需执行以下操作:

For i = 3 to 3
   ...rest of your code
End for

推荐阅读