从另一个工作表中查找值(循环中的循环)

时间:2018-05-21 11:20:09

标签: excel vba excel-vba worksheet

我想使用VBA对excel进程进行理论化。

脚本必须在Sheet3上的选定区域中逐个逐个单元格。每个单元格包含一个数字或为空白。 该脚本将在Sheet2上以搜索特定范围内每个单元格的值。当它找到某些内容时,找到它的整行的内容必须为粗体。 如果它什么都没找到,它就会进入下一个单元格。

在这里浏览stackoverflow和不同的指南后,我设法将一个脚本放在一起。它没有错误,但它没有做任何事情。

Sub MacroText()
Dim xlRng As Range
Dim rng As Range
Dim xlSht As Worksheet
Dim sht As Worksheet
Dim iLastRow As Integer
Dim iRow As Integer
Dim bFound As Boolean
Dim xCell As Range
Dim xlCell As Range
Dim valueToFind As String



 bFound = False
Set sht = ActiveWorkbook.Worksheets("Sheet3")
Set xlSht = ActiveWorkbook.Worksheets("Sheet2")
Set rng = Selection
Set xlRng = ActiveWorkbook.Worksheets("Sheet2").Range("A:A")

iLastRow = xlSht.Range("A1").End(xlDown).Row

Set xlRng = xlSht.Range("A1:A" & iLastRow)

For Each xCell In rng
    valueToFind = xCell.Value

    For Each xlCell In xlRng
        Worksheets("Sheet2").Activate
        If xlCell.Value = valueToFind Then
            bFound = True
            iRow = xlCell.Row
            Rows(iRow).Font.Bold = True
            End If


            If bFound = True Then Exit For
            End
    Next xlCell

Next xCell

End Sub

我假设它必须是代码中的定位但我无法找到任何信息。 在这12小时的工作后,我真的很感谢你的帮助。

干杯!

2 个答案:

答案 0 :(得分:2)

您可以使用//you need to bind object field in selection [(NgModel)] like below example <select [(ngModel)]="urobject.category" name="category" id="category" class="form-control"> <option value=""></option> <option *ngFor="let c of categories$ | async" [value]="c.key"> {{ c.name }} </option> </select> 方法来实现此目的而不是第二个循环

Find

答案 1 :(得分:1)

For Each xlCell In xlRng
    Worksheets("Sheet2").Activate
        If xlCell.Value = valueToFind Then
            xlCell.EntireRow.Font.Bold = True
        End If
Next xlCell  

我不知道你没有得到什么,但我认为你没有得到所需的行作为大胆。将上面的代码替换为你的for循环并运行。 我没有对它进行测试,但我不确定是不工作。