我真的不明白这个VBA代码,这个语句中“find”的含义是什么,有谁可以帮我理解?
SELECT A.Agentid,A.BusinessLineID,A.TeamID,B.ParentBusinessLineID, Count (*) AS Total
FROM Dbo.BusinessLine AS B LEFT JOIN Dbo.Agent AS A ON A
WHERE
答案 0 :(得分:0)
在代码前写debug.print objEachAnalysis.Analysis
。
代码会将rngOutput两行设置为低于找到的值,并在控制台上打印(立即窗口)。
代码写入debug.print rngOutput.address
后,在同一个立即窗口中查看地址。
要查看立即窗口,请在Excel中的Visual Basic编辑器中按ctrl+G
。
答案 1 :(得分:0)
乍一看表达式可能看起来很复杂,您可以拆分它以使事情更简单,这是带注释的示例:
' get target sheet name
sTargetSheet = p_objReportActual.Reportname
' get the value which need to be found
vToFind = objEachAnalysis.Analysis
' get the sheet object
Set oSheet = ActiveWorkbook.Sheets(sTargetSheet)
' get actually all cells within row 2 as init range
Set oInitRange = oSheet.Range(Range("A2"), Range("A2").End(xlToRight))
' get the range to search in as init range shifted by 1 row up
Set oSearchRange = oInitRange.Offset(-1, 0)
' get the first cell where the value found
Set oFoundCell = oSearchRange.Find(vToFind, , , xlWhole)
' get result cell shifted by 2 row down
Set oResultCell = oFoundCell.Offset(2, 0)
' show the cell on the sheet
oResultRange.Select
现在很明显.Find()
只是范围对象的一种方法,您可以在评论中指出的方法中轻松找到MSDN上的帮助主题。
答案 2 :(得分:0)
rngOutput是下面2行的单元格,其中的值为' objEachAnalysis.Analysis'在工作表中的连续范围内的A2到最后一个单元格的范围内找到p_objReportActual.Reportname'
以上一行因此,如果A2:Z2中有数据,则该函数在A2:Z1范围内查找与objEachAnalysis.Analysis的完全匹配。说它在C1中找到,然后rngOutput是两个单元格。即返回C3