Excel 消除重复代码(过程错误太大)
我想使用“For-Each”或任何其他有用的方法消除这些大块重复代码 我只将代码块重复了大约70次,但由于它包含多个动态值,我发现很难使用“For Each” 正在寻找一种循环方法来压缩此代码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" &
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