Excel 消除重复代码(过程错误太大)

Excel 消除重复代码(过程错误太大),excel,vba,Excel,Vba,我想使用“For-Each”或任何其他有用的方法消除这些大块重复代码 我只将代码块重复了大约70次,但由于它包含多个动态值,我发现很难使用“For Each” 正在寻找一种循环方法来压缩此代码 With Sheets("Slide Data").Shapes("TextBox 1") .TextFrame.Characters.Text = wsA.Range("b" & Range("L2")).Value & Chr(10) & wsA.Range("c" &

我想使用“For-Each”或任何其他有用的方法消除这些大块重复代码

我只将代码块重复了大约70次,但由于它包含多个动态值,我发现很难使用“For Each”

正在寻找一种循环方法来压缩此代码

With Sheets("Slide Data").Shapes("TextBox 1")
    .TextFrame.Characters.Text = wsA.Range("b" & Range("L2")).Value & Chr(10) & wsA.Range("c" & Range("L2")).Value
    .TextFrame.Characters(1, 7).Font.Bold = True
    .TextFrame.Characters(1, 7).Font.Size = 7
    .TextFrame.Characters(1, 7).Font.Name = "Verdana"
    .TextFrame.HorizontalAlignment = xlHAlignCenter
End With
为此:

Sub ShapeStuff(number as Long, sourceSheet as Worksheet)
    With Sheets("Slide Data").Shapes("TextBox " & cstr(number))
        .TextFrame.Characters.Text = sourceSheet.Range("b" & sourceSheet.Range("L2") + number - 1).Value & Chr(10) & sourceSheet.Range("c" & Range("L2") + number - 1).Value
        .TextFrame.Characters(1, 7).Font.Bold = True
        .TextFrame.Characters(1, 7).Font.Size = 7
        .TextFrame.Characters(1, 7).Font.Name = "Verdana"
        .TextFrame.HorizontalAlignment = xlHAlignCenter
    End With
End Sub
然后调用
ShapeStuff(1,wsA)
ShapeStuff(2,wsA)
ShapeStuff(3,wsA)

Sub ShapeStuff(number as Long, sourceSheet as Worksheet)
    With Sheets("Slide Data").Shapes("TextBox " & cstr(number))
        .TextFrame.Characters.Text = sourceSheet.Range("b" & sourceSheet.Range("L2") + number - 1).Value & Chr(10) & sourceSheet.Range("c" & Range("L2") + number - 1).Value
        .TextFrame.Characters(1, 7).Font.Bold = True
        .TextFrame.Characters(1, 7).Font.Size = 7
        .TextFrame.Characters(1, 7).Font.Name = "Verdana"
        .TextFrame.HorizontalAlignment = xlHAlignCenter
    End With
End Sub