【发布时间】:2016-05-26 18:12:33
【问题描述】:
我是一个狂热的 excel 用户,但在 vba 方面并不强。任何帮助表示赞赏。这是我正在尝试执行的步骤。
在 B 列中查找文本字符串。 - 使用偏移量收集位于此字符串周围的两个值。偏移量(4,0)和偏移量(3,10) - 总共执行四次,得到 8 个值。 - 将 8 个值粘贴到另一个工作簿最后一行的 8 个连续单元格中
Set wkb = Excel.Workbooks.Open("c:\users\jojames\desktop\skillset performance with talktime.xls")
Set wks = wkb.Worksheets("Sheet1"): wks.Activate
find1Allscripts = "Allscripts - 10055"
Set Match1 = wks.Cells.Find(find1Allscripts)
findoffset1a = Match1.Offset(4, 0).Value
findoffset1b = Match1.Offset(3, 10).Value
find2Tier1 = "Tier1_ServiceDesk - 10052"
Set Match2 = wks.Cells.Find(find2Tier1)
findoffset2a = Match2.Offset(4, 0).Value
findoffset2b = Match2.Offset(3, 10).Value
find3Tier2 = "Tier2_ServiceDesk - 10053"
Set Match3 = wks.Cells.Find(find3Tier2)
findoffset3a = Match3.Offset(4, 0).Value
findoffset3b = Match3.Offset(3, 10).Value
find4Office = "Allscripts - 10055"
Set Match4 = wks.Cells.Find(find4Office)
findoffset4a = Match4.Offset(4, 0).Value
findoffset4b = Match4.Offset(3, 10).Value
'Paste the values'
Set wkb2 = ThisWorkbook
Set wks2 = wkb2.Sheets("ACD Data")
wks2.Activate
LastRow = wks2.Range("Y" & wks2.Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range("Y" & LastRow).PasteSpecial xlPasteFormulas
Set wks = Nothing: Set wkb = Nothing
Set wks2 = Nothing: Set wkb2 = Nothing
【问题讨论】:
-
你可以做
ActiveSheet.Range("Y" & LastRow).value=findoffset1a | ActiveSheet.Range("Y" & LastRow+1).value=findoffset1b等等。