Excel VBA - 在sheet2中查找字符串并将其复制到sheet1

时间:2015-07-09 11:13:36

标签: string excel vba copy paste

我在VBA中寻找代码以在sheet2中管理字符串(称为"设置")并将字符串复制到"设置"进入单元格A1中的sheet1。

我从录制的宏中找不到代码:

Sub FindString()

Cells.Find(What:="Setup", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False).Activate

Range("I8").Select
Selection.Copy
Sheets("Tabelle1").Select
ActiveSheet.Paste
End Sub

如果我更改了那个字符串,它会显示错误91 ...

2 个答案:

答案 0 :(得分:0)

试试这个

Sub FindString()
Sheets("Sheet2").Activate
Cells.Find(What:="Setup", LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False).Activate

ActiveCell.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

“---------------------------------------------- ----------------------------------------

' Specify the string to find in sheet1 B1 cell
Sub FindString2()
Sheets("Sheet2").Activate
Cells.Find(What:=Sheets("Sheet1").Range("B1").Value, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False).Activate

ActiveCell.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
ActiveSheet.Paste
End Sub

答案 1 :(得分:0)

类似于@Punith的回答,除了你不需要换页。

Option Explicit
Sub find_string()
    Const strLookup As String = "Setup"
    Dim wb As Workbook, find_ws As Worksheet, to_ws As Worksheet, rngFound As Range

    Set wb = ThisWorkbook
    Set find_ws = wb.Sheets("find")
    Set to_ws = wb.Sheets("to")

    Set rngFound = find_ws.Cells.Find(What:=strLookup, LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0)
    to_ws.Range("A1").Value = rngFound.Value
End Sub