首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一个循环在两个循环之间中断,不会一直进行下去

第一个循环在两个循环之间中断,不会一直进行下去
EN

Stack Overflow用户
提问于 2016-06-01 02:13:45
回答 1查看 35关注 0票数 0

代码不会插入列,直到它找到范围内的所有列,因为它在到达第22列时停止,即使我还有6列可用,如果我在这里为代码For coly = 6 To 40 Step 4指定一个数字40来代替NewColsone,它就可以工作

代码语言:javascript
复制
Sub LatestCRDThree()
    Dim wb As Workbook, wb1 As Workbook
    Set wb = Workbooks("New CRD.xlsm")
    Set wb1 = Workbooks("A.xlsx")
    With wb.Worksheets("B")
        NewColsone = .UsedRange.Columns.Count
    End With

    With wb.Worksheets("B")
        .AutoFilterMode = False
        For coly = 6 To NewColsone Step 4 ' starting from 6th column enter a new column after consecutive 3 columns
            NewColsone = .UsedRange.Columns.Count
            Columns(coly).Insert Shift:=xlToRight
            NewColsone = NewColsone + 1
            Next coly
        End With
        For j = 6 To NewColsone Step 4
            If wb.Worksheets("B").Cells(2, j).Value = "" Then
                wb1.Worksheets("Required_Values").Range("A1").Copy Destination:=wb.Worksheets("B").Cells(2, j)
                wb1.Worksheets("Required_Values").Range("A5").Copy Destination:=wb.Worksheets("B").Cells(1, j)
            End If
            Next j
        End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-06-01 02:49:52

试一试

代码语言:javascript
复制
    coly = 6
    While NewColsone > coly
        Columns(Coly).Insert Shift:=xlToRight
        NewColsone = .UsedRange.Columns.Count
        coly = coly + 4
    Wend

而不是

代码语言:javascript
复制
For coly = 6 To NewColsone Step 4 ' starting from 6th column enter a new column after consecutive 3 columns
    NewColsone = .UsedRange.Columns.Count
    Columns(coly).Insert Shift:=xlToRight
    NewColsone = NewColsone + 1
Next coly
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37552851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档