我有一个有2列的表。
A B
A2 B2 nn
A3 B3 nn
.....
An Bn nn
我需要复制B2单元格的内容并将其粘贴到所有其他B列单元格中,其中A列具有值。 然后在B列中找到某个值(nn)并用A列值替换它。 为了复制B2内容,我这样做:
Sub CopyTest()
'ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select
Range("B3:B1048576").Select
Selection.ClearContents
Range("B2").Copy
Range("B2:B7").PasteSpecial (xlPasteAll)
Application.CutCopyMode = False
End Sub
1.问题是我不知道如何粘贴到某个单元格(B7),但是对于所有表格(直到A列包含值)。
类似的问题我用某个B列的值替换某个B列值。
Sub ReplaceExample()
Dim OriginalText As String
Dim CorrectedText As String
OriginalText = Range("B2").Value
CorrectedText = Replace(OriginalText, "E_ONBAL", Range("A2").Value)
Range("B2").Offset(, 1).Value = CorrectedText
End Sub
2.如何对所有A列执行相同的操作,以便进行一种循环?
谢谢!
答案 0 :(得分:0)
第一部分是管理的,所以我发布了答案,以防它对某人有用:
Sub CopyTest()
Range("B3:B1048576").Select
Selection.ClearContents
Set currentsheet = ThisWorkbook.Worksheets("Sheet1")
LastRow = currentsheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Range("B2").Copy
Range("B3" & ":" & "B" & LastRow).PasteSpecial (xlPasteAll)
Application.CutCopyMode = False
End Sub
我仍然没有管理如何使用替换来修改脚本的第二部分,以便对所有A列执行相同的操作,所以要做一种循环。
答案 1 :(得分:0)
此示例如何从活动表复制到另一张表。
Sub Test1()
Dim SuccessSheet As String
Application.ScreenUpdating = False
SuccessSheet = ActiveSheet.Name
WS_Count = ActiveWorkbook.Worksheets.Count
' Generate new sheet if it does not exist
If Not sheetExists(SuccessSheet & " Log") Then
Set WS = Sheets.Add(After:=Worksheets(WS_Count))
Worksheets(SuccessSheet).Columns(2).Copy Destination:=Worksheets(WS.Name).Columns(2)
Worksheets(SuccessSheet).Columns(4).Copy Destination:=Worksheets(WS.Name).Columns(1)
WS.Name = SuccessSheet & " Log"
End if
Application.ScreenUpdating = True
End Sub