|
结果写到K列了,这样循环感觉很慢
Sub 计数()
Set cnn = CreateObject("adodb.connection")
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
Sql = "select distinct 区域 from [sheet1$]"
arr = Application.Transpose(cnn.Execute(Sql).GetRows)
crr = Array("区域", "销售", "医生", "患者")
ReDim brr(1 To UBound(arr), 1 To 4)
For i = 1 To UBound(arr)
s = arr(i, 1)
k = k + 1
brr(k, 1) = s
Sql = "select distinct 区域,销售负责人 from [sheet1$]"
Sql = "select count(销售负责人) from (" & Sql & ") where 区域='" & s & "'"
brr(i, 2) = cnn.Execute(Sql).Fields(0)
Sql = "select distinct 区域,医生 from [sheet1$]"
Sql = "select count(医生) from (" & Sql & ") where 区域='" & s & "'"
brr(i, 3) = cnn.Execute(Sql).Fields(0)
Sql = "select distinct 区域,患者 from [sheet1$]"
Sql = "select count(患者) from (" & Sql & ") where 区域='" & s & "'"
brr(i, 4) = cnn.Execute(Sql).Fields(0)
Next i
Range("k1:n1") = crr
Range("k2").Resize(k, 4) = brr
cnn.Close
Set cnn = Nothing
End Sub |
评分
-
查看全部评分
|