使用查找功能并使结果单元格在excel VBA中作为选择

维齐

希望您身体健康。

我有一个数据记录文件来记录采购订单,然后付款。我使用具有许多不同公式的excel文件来最大程度地提高操作的自动化程度。但是它变得越来越重,不可能再使用它了。

因此,我产生了删除所有公式并将其仅放在第一行的想法。现在,我希望excel在每次运行命令时都从第一行复制这些公式,然后在所需的行过去以更新记录,并立即将其转换为值。这将使所有数据保持自动化,并减少处理时间。

我在这里使用的脚本正在工作,但有一点我必须使用查找功能。它应在所选工作表的B列中找到所需的值,并选择找到的单元格作为结果。选择之后,它将偏移到所需的列以继续其他步骤。

Sub find()
Sample Sheets("PO").Range("a1"), Sheets("PO").Range("b:b")
End Sub

完整的脚本是

Sub Macro4()
'
' Update the PO/WO detail with the effect of new payment entry and alsoupdate the corresponding in payment entry
'
' Keyboard Shortcut: Ctrl+j
'
    ActiveCell.Offset(0, -16).Range("A1").Select
    ActiveCell.FormulaR1C1 = "*"
    ActiveCell.Offset(0, 7).Range("A1").Select
    Selection.Copy
    ActiveSheet.Previous.Select
    Range("A1").Select
    ActiveSheet.Paste
    End Sub
    Sub find()
    Sample Sheets("PO").Range("a1"), Sheets("PO").Range("b:b")
    End Sub

    Sub Sample(FirstRange As Range, ListRange As Range)
        Dim aCell As Range, bCell As Range, oRange As Range

        Set oRange = ListRange.find(what:=FirstRange.Value, LookIn:=xlValues, _
        lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)


        ActiveCell.Offset(0, 7).Range("A1").Select
        ActiveCell.Offset(0, 10).Range("A1").Select
        ActiveCell.FormulaR1C1 = "*"
        Selection.End(xlUp).Select
        Selection.End(xlToLeft).Select
        ActiveCell.Offset(0, -1).Range("A1:B1").Select
        ActiveCell.Activate
        Selection.Copy
        ActiveCell.Offset(0, 10).Range("A1").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(0, -10).Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveCell.Offset(0, 10).Range("A1").Select
        Application.CutCopyMode = False
        Selection.ClearContents
        ActiveCell.Offset(0, -10).Range("A1").Select
        ActiveSheet.Next.Select
        Range("A1").Select
        ActiveCell.Offset(0, 16).Range("A1:B1").Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("A1").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(0, 16).Range("A1").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveCell.Offset(0, -16).Range("A1").Select
        Application.CutCopyMode = False
        Selection.ClearContents
        ActiveCell.Offset(0, 17).Range("A1").Select
    End Sub

请提出任何解决方案,

提前致谢

问候

瓦吉卜

嗯,如果我正确地理解了您的问题,那么您只需要一条select语句即可。

    Set oRange = ListRange.find(what:=FirstRange.Value, LookIn:=xlValues, _
    lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)

    oRange.Select

尽管您不在代码中的其他任何地方使用oRange变量,所以您可能会摆脱它。你写这段代码了吗?你懂这个了吗?这绝不是干净,优化,良好,易读或快速的代码……但是,如果它对您有用,那就不用管它了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用vba中的单元格功能选择范围

来自分类Dev

搜索按钮VBA:在Excel单元格中查找值,并根据查找结果填充字段

来自分类Dev

Excel VBA-For循环。使用值查找单元格

来自分类Dev

在Excel中查找最后使用的单元格

来自分类Dev

使用 Excel 在单元格中查找某些字符

来自分类Dev

使用Excel vba查找并选择B列中的第一个空白单元格

来自分类Dev

在单元格Excel VBA中查找最小值

来自分类Dev

Excel从搜索功能结果中获取相对单元格值?

来自分类Dev

计算非空白单元格结果而不在Excel VBA中循环-例如,使用Specialcells

来自分类Dev

如何使用Excel中的选择功能获取文本和单元格值

来自分类Dev

从VBA中的功能中选择单元格

来自分类Dev

从VBA中的功能中选择单元格

来自分类Dev

Excel VBA - 使用单元格中的值作为地址来定位另一个单元格

来自分类Dev

Excel VBA使用单元格和xlDown选择范围

来自分类Dev

VBA“查找”功能找到错误的单元格

来自分类Dev

Excel vba - 对于选择中的每个单元格

来自分类Dev

是否可以使用算术公式作为Excel中的单元格引用(无VBA)?

来自分类Dev

Excel 查找功能从包含句子的活动单元格中查找整个单词,而不是单个字符

来自分类Dev

Excel VBA选择多个单元格

来自分类Dev

在excel中使用MATCH函数的结果作为单元格标识符

来自分类Dev

Excel Vba单元格异常行为。查找合并的单元格

来自分类Dev

VBA Excel;查找重复的单元格并填充偏移的单元格

来自分类Dev

如何在Excel VBA中使用VLOOKUP查找匹配的单元格

来自分类Dev

如何在Excel VBA中使用VLOOKUP查找匹配的单元格

来自分类Dev

Excel VBA:查找具有相似值的单元格

来自分类Dev

VBA Excel:获取多个单元格的结果

来自分类Dev

使用Excel VBA显示相邻单元格中单元格的值变化

来自分类Dev

如何使用C#从Excel文件中的不同单元格中查找相同的值

来自分类Dev

使用Word宏查找Excel行并引用该行中的其他单元格

Related 相关文章

  1. 1

    使用vba中的单元格功能选择范围

  2. 2

    搜索按钮VBA:在Excel单元格中查找值,并根据查找结果填充字段

  3. 3

    Excel VBA-For循环。使用值查找单元格

  4. 4

    在Excel中查找最后使用的单元格

  5. 5

    使用 Excel 在单元格中查找某些字符

  6. 6

    使用Excel vba查找并选择B列中的第一个空白单元格

  7. 7

    在单元格Excel VBA中查找最小值

  8. 8

    Excel从搜索功能结果中获取相对单元格值?

  9. 9

    计算非空白单元格结果而不在Excel VBA中循环-例如,使用Specialcells

  10. 10

    如何使用Excel中的选择功能获取文本和单元格值

  11. 11

    从VBA中的功能中选择单元格

  12. 12

    从VBA中的功能中选择单元格

  13. 13

    Excel VBA - 使用单元格中的值作为地址来定位另一个单元格

  14. 14

    Excel VBA使用单元格和xlDown选择范围

  15. 15

    VBA“查找”功能找到错误的单元格

  16. 16

    Excel vba - 对于选择中的每个单元格

  17. 17

    是否可以使用算术公式作为Excel中的单元格引用(无VBA)?

  18. 18

    Excel 查找功能从包含句子的活动单元格中查找整个单词,而不是单个字符

  19. 19

    Excel VBA选择多个单元格

  20. 20

    在excel中使用MATCH函数的结果作为单元格标识符

  21. 21

    Excel Vba单元格异常行为。查找合并的单元格

  22. 22

    VBA Excel;查找重复的单元格并填充偏移的单元格

  23. 23

    如何在Excel VBA中使用VLOOKUP查找匹配的单元格

  24. 24

    如何在Excel VBA中使用VLOOKUP查找匹配的单元格

  25. 25

    Excel VBA:查找具有相似值的单元格

  26. 26

    VBA Excel:获取多个单元格的结果

  27. 27

    使用Excel VBA显示相邻单元格中单元格的值变化

  28. 28

    如何使用C#从Excel文件中的不同单元格中查找相同的值

  29. 29

    使用Word宏查找Excel行并引用该行中的其他单元格

热门标签

归档