Vba 我的代码不执行

Vba 我的代码不执行,vba,excel,Vba,Excel,我运行下面的代码,VBA只闪烁一毫秒,没有给出结果。无论我如何编辑代码,VBA都不会执行它 我很困惑。但是,如果我运行我的原始代码,它会工作…我尝试对我的原始代码进行相同的编辑,VBA将运行,但在几次尝试后将停止运行 有人知道到底发生了什么吗 起始代码: Sub LeadDetailsQR() Dim OgData As String OgData = ActiveSheet.Name Sheets(OgData).AutoFilterMode = False

我运行下面的代码,VBA只闪烁一毫秒,没有给出结果。无论我如何编辑代码,VBA都不会执行它

我很困惑。但是,如果我运行我的原始代码,它会工作…我尝试对我的原始代码进行相同的编辑,VBA将运行,但在几次尝试后将停止运行

有人知道到底发生了什么吗

起始代码:

Sub LeadDetailsQR()

    Dim OgData As String
    OgData = ActiveSheet.Name

    Sheets(OgData).AutoFilterMode = False
    varMyData = Sheets(OgData).Range("AK2", Range("AK" & Rows.Count).End(xlUp)).Value

    With CreateObject("scripting.dictionary")

        For Each varItem In varMyData
            If Not IsEmpty(varItem) Then .Item(varItem) = Empty
        Next varItem

        For Each varItem In .keys

            Cells.AutoFilter
            Sheets.Add Before:=ActiveSheet

            Application.DisplayAlerts = False
            On Error Resume Next
            ActiveWorkbook.Worksheets(varItem).Delete
            On Error GoTo 0
            Application.DisplayAlerts = True

            ActiveSheet.Name = varItem
            Sheets(OgData).Select
            Sheets(OgData).Range("AK1").AutoFilter Field:=37, Criteria1:=varItem
            Sheets(OgData).Cells.CurrentRegion.Copy
            Sheets(varItem).Cells.PasteSpecial Paste:=xlPasteColumnWidths
            Sheets(OgData).Cells.CurrentRegion.Copy
            Sheets(varItem).Cells.PasteSpecial Paste:=xlPasteAll

        Next varItem

    End With

    Sheets(OgData).AutoFilterMode = False

End Sub
原始代码(作品):


我不好意思说我已经找到了答案。代码正在做它正在做的事情。它运行时没有出错,因为它所查找的范围为空,因此不会创建任何内容


如果我不清楚,让我解释一下代码。代码应该基于列中的每个唯一值创建一个新的工作表。代码运行时没有产生任何结果,因为我要求代码查看AK列,这是一个空白列。因此,它当然不会产生任何结果:)

使用调试器并逐步检查代码以查看失败的地方。我们不能为您这样做,因为我们没有您的工作表。发布代码时,请花一些时间缩进它-如果您的代码易于阅读,您更有可能获得帮助。一大块左对齐的代码很难扫描。@KenWhite没有返回的错误代码/错误。工作表保持不变。这正是我说在调试器中逐步检查代码的原因,在调试器中,您可以看到代码的每一行都发生了什么。再说一遍,我们不能为你这样做。逐行遍历可以让您看到哪些行正在实际执行(哪些不是),检查变量的值以确保它们包含您所期望的内容,并查看代码中是否存在逻辑错误。我确切地知道您的意思,我会在调试器(F8)中逐步遍历代码,但没有任何代码实际运行。没有一行。
Sub LeadDetailsQROriginal()

    Dim OgData As String
    OgData = ActiveSheet.Name

    Sheets(OgData).AutoFilterMode = False
    varMyData = Sheets(OgData).Range("A2", Range("A" & Rows.Count).End(xlUp)).Value

    With CreateObject("scripting.dictionary")
        For Each varItem In varMyData
            If Not IsEmpty(varItem) Then .Item(varItem) = Empty
        Next varItem
        For Each varItem In .keys
            Sheets.Add Before:=ActiveSheet
            ActiveSheet.Name = varItem
            Sheets(OgData).Range("A1").AutoFilter Field:=1, Criteria1:=varItem
            Sheets(OgData).Select
            Sheets(OgData).Range("A1").CurrentRegion.Copy
            Sheets(varItem).Range("A1").PasteSpecial Paste:=xlPasteColumnWidths
            Sheets(OgData).Range("A1").CurrentRegion.Copy
            Sheets(varItem).Range("A1").PasteSpecial Paste:=xlPasteAll
        Next varItem
    End With

    Sheets(OgData).AutoFilterMode = False

End Sub