Vba 当存在特定文本时启动条件

Vba 当存在特定文本时启动条件,vba,excel,Vba,Excel,我想复制工作表1中B列和C列的末尾 至工作表2中的B列和C列 我有这个: 以上是: 这是代码 工作表2中“维护”的副本 n=58'开始查看第58行 j=2'在工作表2中的第2行复制 工作表(“1”)。选择“选择工作表1” 执行,而单元格(n,1)“x”则对每个单元格执行,直到a列中有一个“x” 如果单元格(n,1)“x”那么“如果A列为空,那么: 薄板(“2”).单元(j,2)=薄板(“1”).单元(n,2)' 薄板(“2”).单元(j,3)=薄板(“1”).单元(n,3)' j=j+1 如

我想复制工作表1中B列和C列的末尾 至工作表2中的B列和C列

我有这个:

以上是:

这是代码

工作表2中“维护”的副本 n=58'开始查看第58行 j=2'在工作表2中的第2行复制 工作表(“1”)。选择“选择工作表1” 执行,而单元格(n,1)“x”则对每个单元格执行,直到a列中有一个“x” 如果单元格(n,1)“x”那么“如果A列为空,那么: 薄板(“2”).单元(j,2)=薄板(“1”).单元(n,2)' 薄板(“2”).单元(j,3)=薄板(“1”).单元(n,3)' j=j+1 如果结束,如果结束 n=n+1
循环'retourne au do while如果我正确理解了您的问题,那么您可以将
n=58'开始查看第58行
替换为以下代码,以确定变量
n
的值作为起始行

Dim WordToFind As String, FirstWord As String
Dim FindWord

WordToFind = "Maintenance"
    With Sheets("1").Range("A:C")
        Set FindWord = .Find(what:=WordToFind, SearchDirection:=xlNext)

        If Not FindWord Is Nothing Then
            FirstWord = FindWord.Row
            Do
                n = FindWord.Row + 1 'The value of n start from the row below "Maintenance"
                Exit Do
            Loop While Not FindWord Is Nothing And FindWord.Row <> FirstWord
        Else
            MsgBox "There is no word " & WordToFind
        Exit Sub
        End If
    End With
Dim WordToFind As String,FirstWord As String
暗芬德沃德
WordToFind=“维护”
附页(“1”)。范围(“A:C”)
设置FindWord=.Find(what:=WordToFind,SearchDirection:=xlNext)
如果不是FindWord什么都不是
FirstWord=FindWord.Row
做
n=FindWord.Row+1'n的值从“维护”下面的行开始
退出Do
非FindWord时循环为Nothing,FindWord.Row为FirstWord
其他的
MsgBox“没有单词”&单词查找
出口接头
如果结束
以

根据您要查找的单词或字符串,您可以更改值
WordToFind

您可以在问题中包含您的数据或其图片吗?请参考图片,上面是否有任何其他数据
单元格(56,1)
?是的,先生,pb是我可以删除上面的行,这意味着“维护”将启动,我想复制代码中“维护”下的所有内容,我复制第58行下的所有内容…:-/我想复制“维护”下的所有行,但“维护”行可以更改。pb不是在行结束时,而是在行开始时。在我的代码中,当第1列中有一个“x”时,它会在58和58之间复制B列和C列。但我想在B栏开始复制它的“维护”@babou实话实说,我发现很难理解你想要什么。你能详细说明你的问题来表达你的要求吗?什么是pb?另外,您想将复制的数据粘贴到哪里?@babou是合并单元格中的“维护”命令?上面的“维护”单元格是空的吗?维护是单元格第55行中的文本,不,上面是唯一的完整单元格cells@babou我知道第55行的“维护”,但它是合并单元格吗?你能完整地描述一下上述“维护”吗?