【发布时间】:2011-05-20 22:18:58
【问题描述】:
我不是 Excel VBA 新手,但也不是专家。我遇到了奇怪的问题,请有人帮助我,我无法再思考了。
我的 Excel 故事: 我在电子表格中有大约 40,000 行。行的模式如下:
row1) 来源 > AppName1
row2) 目的地> 对应值1
row3) 目的地> 对应值2
row4) 来源 > AppName2
row5) 目的地> 对应值3
row6) 来源 > AppName3
row7) 目的地> 对应值1
现在,如果按 AppName 搜索让我们成为 AppName1,则 row2 和 row3 应与 row1 一起复制到下一张表。 如果我搜索 Value1,那么它应该得到 row1、row2、row3、row7 和 row6 应该被复制到下一张表。这意味着搜索字符串的先例和后代的行应复制到下一张表。
由于我的声望点低于 10,我无法提供样本表。
有没有人可以指导和帮助我我花了三天时间但没有得到任何结果。 我有一个非常关键的时间表来准备这份清单,我是手动完成的,手动完成需要 5-6 天。我想自动化它,但被卡住了。
这是我的代码不起作用:
Sub GenerateInventory()
On Error GoTo ErrHandler:
Set r = ActiveSheet.UsedRange
nLastRow = r.Rows.Count + r.Row - 1
Set r1 = Cells(2, 8)
For i = 2 To nLastRow Step 1
If InStr(Cells(i, 6), "CMRI") <> 0 Then
Set r1 = Union(r1, Cells(i, 1))
End If
Next
r1.EntireRow.Select
r1.EntireRow.Copy
Sheets("MS4Inventory").Select
Cells(100, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Exit Sub
ErrHandler:
MsgBox Err.Number & ": " & Error.Description
End Sub
此代码仍处于 WIP 中。
【问题讨论】:
-
这3天你尝试了什么?让我们知道,否则我们无法帮助您更正它...
-
你的例子比较难理解。请向我们展示您的工作表样本,并正确格式化,例如
code获取固定宽度的字体。 -
您不需要 10 声望来正确格式化您的示例。只需将您的工作表示例写为文本,将其格式化为
code,并使用空格等正确对齐行和列。我仍然不明白您的工作表是什么样的。单元格 A2 是否真的包含文本"Destination > corresponding value1"?
标签: excel excel-2007 vba