无法弄清楚为什么在验证 If 语句时 VBA 会退出我的 For-Next 循环

梅林

好的,所以我最近进入了 VBA 编程,我一直在尝试编写一些代码来执行以下操作:

  • 循环浏览包含 True 或 False Statements 的列(在我的例子中是列“K”)
  • 如果为 True,则收集相应的名称(列“C”)并创建一个相应命名的工作表

就这样

所以这是我写的代码:

Sub Generate_Attribute_Table()

    Dim LastRow As Long
    Dim i As Integer
    Dim Nom As String

    LastRow = Range("A1").End(xlDown).Row
    
    For i = 2 To LastRow
        
        If (Cells(i, "K").Value) Then
            
            Nom = Worksheets(1).Cells(i, "C").Value
            ActiveWorkbook.Sheets.Add(After:=Worksheets(Sheets.Count)).Name = Nom
            
        Else
        
            Cells(i, "K").Select
            
        End If
        
    Next i

End Sub

它似乎工作得很好,但即使列中有其他 True ,它也会在生成第一个工作表后停止。

else 情况是为了调试目的,因为我想看看发生了什么,它确认只要验证 if 语句,循环就会停止。

我尝试使用“Do直到”循环做同样的事情,但它做同样的事情。

我在这里错过了什么?我在网上找不到任何答案,所以任何帮助都会非常好。

提前致谢。

塞缪尔·埃弗森

每个Sheets.Add 方法文档。

创建新的工作表、图表或宏表。新工作表成为活动工作表。

您有对 的隐式引用,ActiveSheet因此每次添加新工作表时,您的代码现在都在引用新工作表。

添加一些对您打算使用的工作表的显式引用,例如:

LastRow = Sheets("Sheet1").Range("A1").End(xlDown).Row 

Sheets("Sheet1").Cells(i, "K").Value

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法弄清楚为什么我的打印语句会不断打印两次

似乎无法弄清楚为什么代码会进入无限循环

无法弄清楚为什么代码会跳过 javascript 中的 if 语句

无法弄清楚为什么我在我的数组打印语句中获取空值

无法弄清楚为什么我的if语句不起作用

无法弄清楚为什么我的else语句仍然使用负输入调用此函数

当我学习 ServletContextListener 时,我无法弄清楚为什么会发生 ClassNotFoundException

无法弄清楚为什么我在尝试 CSV 行数时不断收到 KeyError

无法弄清楚为什么div折叠时我的div中的内容会被压缩

我正在尝试完成此菜单的代码,无法弄清楚为什么它无法正确循环?

这是一个无限循环,但是我无法为自己的生活弄清楚为什么

excel + vba + 编译错误 AutoOpenRequiredWorkbook (myFileNameToOpen, myFilePath) 无法弄清楚为什么我会收到此错误

我无法弄清楚为什么当我重用View组件时getView()方法不能正确运行

粘性导航:无法弄清楚为什么当 scrollTop 小于我导航的 offset().top 时 removeClass 不起作用

我无法弄清楚为什么在头文件中调用方法时出现未定义的引用问题

循环不继续无法弄清楚为什么

无法弄清楚为什么for循环不会运行

我是否正确弄清楚为什么这个 while 循环是无限的?

无法弄清楚为什么SQL语句无法唤醒

无法弄清楚我的for循环中有什么语法错误

无法弄清楚为什么我的代码无法呈现

无法弄清楚为什么会引发ConcurrentModificationException

无法弄清楚为什么这给了我TypeError

无法弄清楚为什么我收到UnboundLocalError

你能弄清楚为什么我的代码在以前工作时不起作用吗?

我无法通过语句弄清楚语法问题

我无法弄清楚在进行此MYSQL查询时犯了什么错误

无法弄清楚JavaScript中的if语句出了什么问题[9月1日更新,看来我的for循环正在运行两次,该如何解决?]

谁能帮我弄清楚为什么这个while循环对“回文数”LeetCode问题不起作用?