0

我在 Excel 工作表中有一个包含三列的表格。第一列包含人名,第二列包含公司名称,第三列包含城市名称。

Name    Company City
abc     mn      C1
asd     th      C2
qwe     mn      C1
aqw     kj      C1
ert     mn      C2

在这里,我在 Excel 2007/2010 中编写了一个宏来获取为公司“mn”工作且位于“C1”城市的人的姓名。

谁能帮帮我???

4

2 回答 2

1

我认为按公司然后按城市对区域进行排序是发现员工的最简单方法。但是这样的事情也应该起作用:

Sub SearchEmployeeByCompanyAndCity(company As String, city As String, start As Range)
    Dim i, j As Integer
    i = 1
    j = 1
    While (start.Cells(i, j).Value <> "")
        If start.Cells(i, j + 1).Value = company And start.Cells(i, j + 2).Value = city Then
            MsgBox start.Cells(i, j)
        End If
        i = i + 1
    Wend
End Sub

Sub Test()
    SearchEmployeeByCompanyAndCity "mn", "C1", Worksheets(1).Range("A1")
End Sub
于 2013-02-26T21:13:45.737 回答
0

如果表格在这样的右上角Sheet1

在此处输入图像描述

像这样的 a 宏就足够了 - 但还有很多其他方法可以做到这一点 - 最简单的是 a Pivot Table

Option Explicit

Sub FINDemployees()

With Excel.ThisWorkbook.Sheets("Sheet1")
    Dim cell
    For Each cell In .Range(.Cells(2, 1), Cells(.Rows.Count, 1).End(Excel.xlUp))
        If LCase(cell(1, 2)) = "mn" And LCase(cell(1, 3)) = "c1" Then
            MsgBox cell.Value
        End If
    Next
End With
End Sub
于 2013-02-26T21:17:42.057 回答