【发布时间】:2013-10-26 15:16:50
【问题描述】:
所以我有一个工作簿,里面有两张纸。我需要将数据从工作表 2(“详细信息”)复制到工作表 1(“Syncrofit”)。我需要将 ws2 中的项目粘贴到工作表 1 上的渐进行中,因此工作表 2 中的行 B 列表示“Joint1-1”需要插入工作表 1 的第 1 行下方。这实际上创建了一个嵌套表。
这是我目前所拥有的,主要是从代码和我在这里找到的帮助中收集的:
Sub SelectJoints()
Sheets("Detail").Activate
Dim Selection1 As Integer, Selection2 As Integer
Dim SelectionRange As Range
Dim num As Integer
Dim rngFind As Range
Set rngFind = Columns("B:B").Find(what:="*" & "Joint1-" & num, After:=Range("B1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not rngFind Is Nothing Then
Selection1 = rngFind.Row + 1
End If
Set rngFind = Columns("B:B").Find(what:="*Joint1-" & num + 1, After:=Range("B1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not rngFind Is Nothing Then
Selection2 = rngFind.Row - 1
End If
If Selection1 > 0 And Selection2 > 0 Then
Set SelectionRange = Range(Cells(Selection1, 2), Cells(Selection2, 6))
End If
End Sub
这里的目的是激活详细信息表,在 B 列中找到匹配 SomeTextHere(Joint1-1) 的字符串并选择这些行。然后我需要将这些选择粘贴到工作表 1(在第 1 行下方,其值与其中一列中的 Joint 值匹配),返回工作表 2,选择包含 SomeTextHere(Joint1-2) 的行并粘贴那些在下一行下方(在刚刚插入的行之后)。我意识到粘贴部分不在代码中。这让我发疯了。
请原谅我缺乏关于 VBA 的知识。
我希望成品看起来像一个嵌套表,如下所示:
Original Items
Copied from sheet 2
Copied from sheet 2
Copied from sheet 2
Original Item 2
Copied from sheet 2
etc.
【问题讨论】: