如何使用VBA将特定数据与多列(而不仅仅是一列)进行比较?

时间:2017-01-16 23:18:38

标签: excel-vba vba excel

我有一些VBA代码允许我针对同一工作簿中另一个工作表的一列中的所有行的数据搜索特定单元格中的给定数据。我想将搜索范围扩展到第2列和第3列(B和C)。我已经尝试了不同的扩展搜索范围的方法,但我不断收到错误。我是新手使用VBA,所以请放轻松我。我确定我在这里错过了一些简单的东西。

Option Explicit

Sub ItemID()

Dim SearchPage As Worksheet
Dim AllORingData As Worksheet
Dim dashnumber As String
Dim finalrow As Integer
Dim i As Integer

Set SearchPage = Sheet2
Set AllORingData = Sheet6
dashnumber = SearchPage.Range("C4").Value

SearchPage.Range("A10:F500").ClearContents

AllORingData.Select
finalrow = Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To finalrow
    If Cells(i, 1) Like dashnumber Then
    Range(Cells(i, 1), Cells(i, 6)).Copy
    SearchPage.Select
    Range("A500").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
    AllORingData.Select
    End If

Next i

SearchPage.Select

Range("C4").Select

End Sub

如果我更换:

If Cells(i, 1) Like dashnumber Then

使用:

If Range(Cells(i, 1), Cells(i, 3)) Like dashnumber Then

我收到错误

  

运行时错误' 13':类型不匹配

我已经对这个错误进行了一些阅读,而我所理解的是它正在寻找一个整数或一个字符串,这是错误的。我搜索的数据包含冒号,分号,逗号,破折号和数字。

0 个答案:

没有答案