VBA使某些Text的单元格成为活动单元格

时间:2015-02-28 02:00:22

标签: vba excel-vba excel

我正在尝试使用宏(VBA)来搜索所有A列以及#34;东部会议"然后使该单元成为活动单元。当数据由Web查询填充时,东部会议的位置会发生变化。我最初记录了一个CNTL + F函数,它在作为宏运行时起作用,但是当我将它分配给一个按钮时,我得到了一个运行时错误。非常感谢任何帮助!

所以这就是我到目前为止所拥有的。我在A栏中寻找东部会议,然后将信息复制到它周围(50行以下和右边26列)到一个新的位置,这样如果它根据行从一行移动到另一行并不重要。网络查询结果。我在DA100的参考单元中有东部会议,因为当我只是在脚本中使用文本时我无法做任何事情 - 我只是担心它会在AA1单元格中找到复制的东部会议然后基本粘贴每次都是。所以我想确保它只在A列中查找来自DA100("东部会议")的文本 - 这样它就永远不会在AA1单元格或DA100单元格中找到它并复制错误的数据

由于

    Sub STANDINGS_FIX()
'
' STANDINGS_FIX Macro
'

'
   Sheets("STANDINGS_DATA").Select
   Range("A40").Select
   Dim SearchValue As String
   SearchValue = "*" & Range("DA100").Value & "*"
   Cells.Find(What:=SearchValue, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
    Cells.FindNext(After:=ActiveCell).Activate
    ActiveCell.Resize(50, 26).Copy
    Range("AA1").Select
    ActiveSheet.Paste
    Sheets("EVENT INFORMATION").Select
    MsgBox "STANDINGS UPDATED!!!"
End Sub

1 个答案:

答案 0 :(得分:0)

录制的宏代码可以让您开始寻求解决方案,但它很少适合所有情况。工作表的查找操作( Ctrl + F )从上次使用时记住了几个选项,这些选项需要重置为适合您情况的操作参数。 / p>

另一个选项是精确或通配符匹配A列,寻找术语“东部会议”

With activesheet
    'Exact match (e.g. Eastern Conference):
    .cells(application.match("Eastern Conference", .columns("A"), 0), "A").select
    'Wildcard match (e.g. 2014 Eastern Conference Finals):
    .cells(application.match("*Eastern Conference*", .columns("A"), 0), "A").select
end with

其中一个应该会激活正确的细胞。

当您的代码正常运行时,请考虑在Code Review - Excel上发布一些代码,以获取有助于远离.SelectActiveCell的帮助,以支持直接小区寻址和引用。