Excel 如果i=2,则在此工作簿中。工作表。计算工作簿中的所有工作表

Excel 如果i=2,则在此工作簿中。工作表。计算工作簿中的所有工作表,excel,vba,for-loop,worksheet,Excel,Vba,For Loop,Worksheet,有人能帮我吗?我试图让我的代码在工作簿中的所有工作表中循环。它对于一张工作表来说非常完美,但我正在努力使它在所有工作表中循环 Sub stringcheck() Dim MainString As String Dim SubString As String Dim Lastrow As Long, Lcount As Long Dim i As Integer, j As Integer SubString = "All Grps" Lastrow = ThisWorkbook.

有人能帮我吗?我试图让我的代码在工作簿中的所有工作表中循环。它对于一张工作表来说非常完美,但我正在努力使它在所有工作表中循环

    Sub stringcheck()

Dim MainString As String
Dim SubString As String
Dim Lastrow As Long, Lcount As Long
Dim i As Integer, j As Integer

SubString = "All Grps"

Lastrow = ThisWorkbook.Worksheets("SalesChannelName").Range("A30000").End(xlUp).Row


For i = 3 To Lastrow
    MainString = Range("B" & i)
        If InStr(MainString, SubString) <> 0 Then
            Rows(Range("A" & i).Row + 1 & ":" & Range("A" & i).Row + 2).Insert
        End If
Next i

End Sub
子字符串检查()
像细绳一样模糊
作为字符串的Dim子字符串
调暗最后一行的长度,L计算的长度
尺寸i为整数,j为整数
SubString=“所有GRP”
Lastrow=此工作簿。工作表(“SalesChannelName”)。范围(“A30000”)。结束(xlUp)。行
对于i=3到最后一行
主字符串=范围(“B”和“i”)
如果InStr(主字符串、子字符串)为0,则
行(范围(“A”&i)。行+1&“:”&Range(“A”&i)。行+2)。插入
如果结束
接下来我
端接头

要在所有工作表中循环编码,请使用下面的代码

Sub stringcheck()

Dim MainString As String
Dim SubString As String
Dim Lastrow As Long, Lcount As Long
Dim i As Integer, j As Integer
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
ws.Activate
SubString = "All Grps"

Lastrow = ActiveSheet.Range("A30000").End(xlUp).Row


For i = 3 To Lastrow
    MainString = Range("B" & i)
        If InStr(MainString, SubString) <> 0 Then
            Rows(Range("A" & i).Row + 1 & ":" & Range("A" & i).Row + 2).Insert
        End If
Next i
Next ws
End Sub
子字符串检查()
像细绳一样模糊
作为字符串的Dim子字符串
调暗最后一行的长度,L计算的长度
尺寸i为整数,j为整数
将ws设置为工作表
对于ActiveWorkbook.Worksheets中的每个ws
ws.Activate
SubString=“所有GRP”
Lastrow=ActiveSheet.Range(“A30000”).End(xlUp).Row
对于i=3到最后一行
主字符串=范围(“B”和“i”)
如果InStr(主字符串、子字符串)为0,则
行(范围(“A”&i)。行+1&“:”&Range(“A”&i)。行+2)。插入
如果结束
接下来我
下一个ws
端接头

要在所有工作表中循环编码,请使用下面的代码

Sub stringcheck()

Dim MainString As String
Dim SubString As String
Dim Lastrow As Long, Lcount As Long
Dim i As Integer, j As Integer
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
ws.Activate
SubString = "All Grps"

Lastrow = ActiveSheet.Range("A30000").End(xlUp).Row


For i = 3 To Lastrow
    MainString = Range("B" & i)
        If InStr(MainString, SubString) <> 0 Then
            Rows(Range("A" & i).Row + 1 & ":" & Range("A" & i).Row + 2).Insert
        End If
Next i
Next ws
End Sub
子字符串检查()
像细绳一样模糊
作为字符串的Dim子字符串
调暗最后一行的长度,L计算的长度
尺寸i为整数,j为整数
将ws设置为工作表
对于ActiveWorkbook.Worksheets中的每个ws
ws.Activate
SubString=“所有GRP”
Lastrow=ActiveSheet.Range(“A30000”).End(xlUp).Row
对于i=3到最后一行
主字符串=范围(“B”和“i”)
如果InStr(主字符串、子字符串)为0,则
行(范围(“A”&i)。行+1&“:”&Range(“A”&i)。行+2)。插入
如果结束
接下来我
下一个ws
端接头

您可以尝试一下

Sub stringcheck()
    Dim ws As Worksheet
    Dim MainString As String
    Dim SubString As String
    Dim Lastrow As Long, Lcount As Long
    Dim i As Integer, j As Integer

    Application.ScreenUpdating = False

    SubString = "All Grps"

    For Each ws In ActiveWorkbook.Worksheets
        Lastrow = ws.Cells(Rows.Count, 1).End(xlUp).Row
        For i = Lastrow To 3 Step -1
            MainString = ws.Range("B" & i)
            If InStr(MainString, SubString) <> 0 Then
                ws.Range("A" & i + 1).Resize(2).EntireRow.Insert
            End If
        Next i
    Next ws
    Application.ScreenUpdating = True
End Sub
子字符串检查()
将ws设置为工作表
像细绳一样模糊
作为字符串的Dim子字符串
调暗最后一行的长度,L计算的长度
尺寸i为整数,j为整数
Application.ScreenUpdating=False
SubString=“所有GRP”
对于ActiveWorkbook.Worksheets中的每个ws
Lastrow=ws.Cells(Rows.Count,1).End(xlUp).Row
对于i=最后一行到第3步-1
主字符串=ws.范围(“B”和i)
如果InStr(主字符串、子字符串)为0,则
ws.Range(“A”&i+1).调整大小(2).EntireRow.Insert
如果结束
接下来我
下一个ws
Application.ScreenUpdating=True
端接头

您可以尝试一下

Sub stringcheck()
    Dim ws As Worksheet
    Dim MainString As String
    Dim SubString As String
    Dim Lastrow As Long, Lcount As Long
    Dim i As Integer, j As Integer

    Application.ScreenUpdating = False

    SubString = "All Grps"

    For Each ws In ActiveWorkbook.Worksheets
        Lastrow = ws.Cells(Rows.Count, 1).End(xlUp).Row
        For i = Lastrow To 3 Step -1
            MainString = ws.Range("B" & i)
            If InStr(MainString, SubString) <> 0 Then
                ws.Range("A" & i + 1).Resize(2).EntireRow.Insert
            End If
        Next i
    Next ws
    Application.ScreenUpdating = True
End Sub
子字符串检查()
将ws设置为工作表
像细绳一样模糊
作为字符串的Dim子字符串
调暗最后一行的长度,L计算的长度
尺寸i为整数,j为整数
Application.ScreenUpdating=False
SubString=“所有GRP”
对于ActiveWorkbook.Worksheets中的每个ws
Lastrow=ws.Cells(Rows.Count,1).End(xlUp).Row
对于i=最后一行到第3步-1
主字符串=ws.范围(“B”和i)
如果InStr(主字符串、子字符串)为0,则
ws.Range(“A”&i+1).调整大小(2).EntireRow.Insert
如果结束
接下来我
下一个ws
Application.ScreenUpdating=True
端接头

谢谢。这是一种非常有创意的方式,可以更改代码并使其在所有页面中循环:)@KokoEtokebe不客气!如果这解决了您的原始问题,请花一分钟时间接受答案,将您的问题标记为已解决。:)非常感谢。这是一种非常有创意的方式,可以更改代码并使其在所有页面中循环:)@KokoEtokebe不客气!如果这解决了您的原始问题,请花一分钟时间接受答案,将您的问题标记为已解决。:)谢谢,但是指定另一个工作表中最后一个单元格的lastrow=thisworkbook.worksheets(“Saleschannelname”).range(“A30000”).end(xlup).行呢。我想这会导致一个错误谢谢,但是lastrow=thisworkbook.worksheets(“Saleschannelname”).range(“A30000”).end(xlup).行如何,它指定了另一个工作表中的最后一个单元格。我认为willc会导致一个错误