Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在工作表中搜索单词或短语?_Excel_Vba - Fatal编程技术网

Excel 如何在工作表中搜索单词或短语?

Excel 如何在工作表中搜索单词或短语?,excel,vba,Excel,Vba,我编写宏来搜索短语,选择右边的单元格,复制,选择第2页,然后粘贴到静态单元格。宏用于在Excel电子表格上组织餐厅销售报告 我是编程新手,没有VBA经验 我不知道如何在工作表中搜索单词或短语。查找单元格的方法有很多,这取决于您要做什么 要准确地执行您所描述的操作,您需要使用Range.Find方法 Range.Find的示例 在一本新的工作手册中,我把猫和狗这样的单词写在随机单元格中 然后,我创建了一个新模块,其中包含一个公共子模块: Public Sub TestFind() Sheet1

我编写宏来搜索短语,选择右边的单元格,复制,选择第2页,然后粘贴到静态单元格。宏用于在Excel电子表格上组织餐厅销售报告

我是编程新手,没有VBA经验


我不知道如何在工作表中搜索单词或短语。

查找单元格的方法有很多,这取决于您要做什么

要准确地执行您所描述的操作,您需要使用
Range.Find
方法

Range.Find的示例
在一本新的工作手册中,我把猫和狗这样的单词写在随机单元格中

然后,我创建了一个新模块,其中包含一个公共子模块:

Public Sub TestFind()
  Sheet1.Cells _
    .Find("cat", LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False) _
    .Offset(-1, 1) _
    .Copy Sheet2.[A1]
End Sub
好的,解释一下。如果您不熟悉,在VBA中,您可以使用上面我使用过的。我也用过一些

Sheet1.Cells
在Sheet1上,我获取单元格区域(所有单元格)并调用该区域的Find方法

.Find
返回单元格中任意位置包含单词cat的第一个范围(大写和小写并不重要,因为
MatchCase:=False
LookAt:=xlPart
表示单元格内容的任何部分,其中
LookAt:=xlother
表示整个单元格)

.Offset(-1,1)
表示将范围或单元格一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上,一个向上

.Copy Sheet2.[A1]
语法与写入
.Range(“A1”)
相同。我希望这个复制声明的作用是显而易见的

其他方法
你也可以考虑做一些类似于VLOOKUP或索引和匹配的事情。或者使用一个排序或筛选接口。这取决于工作簿的结构和您想做什么。

查看
VLOOKUP
函数,不需要宏:在查找信息时录制宏,Ctrl+f,记住选项,然后使用activecell.offset来获取数据。我忘记了,由于每周的变化,生成的销售报告的结构并不总是相同的。因此,我不认为通过单击或依赖行/列编号来记录宏是可行的。这就是为什么我认为搜索功能是我唯一的选择。