我有这个需要更改值的电子表格,
A B C D E F G
5 e e z z u u
10 e e z z u u
20 e e z z u u
30 e e z z u u
40 e e z z u u
50 e e z z u u
那么,那里的每一封信都需要改为A栏中的参考。
现在,我的代码是:
Sub Macro1()'
'Line 2
Range("C2:H2").Select
Selection.Replace What:="e", Replacement:=Range("A2").Value, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="z", Replacement:=Range("A2").Value, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="u", Replacement:=Range("A2").Value, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
在原始工作表中,我有超过300行格式化。所有范围E7:BQ7。 所以,我需要制作一个循环,改变选择的范围以及我的参考。
有人可以帮忙吗?
答案 0 :(得分:0)
如果我的帖子与您说的完全相同,这个简单的循环将使E-BQ列中的所有单元格等于每行中A列中的值。
Sub Marco1()
Dim wks As Worksheet
Set wks = Sheets("Sheet1") 'replace with your sheet name
With wks
Dim lRow As Long
lRow = .Range("A" & .Rows.Count).End(xlUp).Row 'assumes continuous rows with no blanks in data
Dim l As Long
For l = 2 To lRow 'assumes you are starting at row 2
.Range("E" & l & ":BQ" & l).Value = .Range("A" & l).Value
Next
End With
End Sub
根据ExcelHero的评论,下面的代码也可以不循环播放。
With wks
Dim lRow As Long
lRow = .Range("A" & .Rows.Count).End(xlUp).Row 'assumes continuous rows with no blanks in data
.Range("E2:BQ" & l).Value = .Range("A2:A" & l).Value
End With