我想要的:
我有很多关于不同设备的工作表。让我们将其中的一张称为“WS1”。

而且我还有一张单独的纸,上面列出了所有现有设备以及旁边的相应操作系统。我们称其为“ list ”。

现在,我希望其他工作表(例如“WS1”)检查“列表”,找到合适的设备,然后将合适的操作系统复制到WS1工作表中。

手动方式为:

  • 选择WS1的单元“C3”并复制它。
  • 打开“列表” -Sheet并找到复制的条目
  • 选择找到的条目左侧的单元格并将其复制到
  • 再次打开WS1,选择 Activity 单元格旁边的左侧单元格,然后粘贴新剪贴板(包含操作系统)
  • 选择 Activity 单元下方和右侧的下一个单元。
  • 循环,直到WS1中的每个设备都充满了操作系统

  • 到目前为止,我所拥有的:
    Dim DataObj As New MSForms.DataObject
    Dim strCliBoa As String
    'strCliBoa = DataObj.GetText
    DataObj.GetFromClipboard
    
    Range("C3").Select
    Selection.Copy
    strCliBoa = DataObj.GetText
    Sheets("list").Select
    Range("A1").Select
    Cells.Find(What:=strCliBoa, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False).Activate
    ActiveCell.Offset(0, -1).Select
    Selection.Copy
    strCliBoa = DataObj.GetText
    Sheets("WS1").Select
    ActiveCell.Offset(0, -1).Select
    ActiveSheet.Paste
    ActiveCell.Offset(1, 1).Select
    

    我的问题:
    “运行时错误91:对象变量或未设置块变量”
    并标记了cells.find方法。

    有人可以告诉我我在做什么错吗?^^
    提前致谢!

    (哦,差点忘了:我在Win7上使用ms excel 2010)

    最佳答案

    如果找不到您要查找的字符串,则会出现该错误。如果未找到任何内容,则查找功能返回“Nothing”

        Dim r As Range
    
        Set r = Cells.find(What:=strCliBoa, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False)
    
        If r Is Nothing Then
            'handle error
        Else
            'fill in your code
        End If
    

    10-06 07:46