我正在处理发送给我的数据。工作表始终包含相同的标题,尽管它们并不是真正的标题,因为它不是以表格形式出现的,但是列会改变每次拉动,因此它永远不在同一列中,因此我无法像我一样进行索引匹配我过去我需要在不将数据转换为表的情况下使其工作,因为其他使用此方法的人不知道该怎么做。有没有一种方法可以搜索工作表以找到包含该值的单元格,捕获该列地址,然后计算该列包含一个字母的次数?
我有一个首页excel页面,该页面记录了发生某件事的次数。当前,我使用此公式= COUNTIF('UDO'!AJ:AJ,“ Y”)。它起作用的唯一原因是我不能将其设置为数组,因为该列并不总是AJ,所以我总是必须手动更改它,并且想使其自动化。因此,我希望能够搜索包含文本值示例信息的工作表:“ Review Required FY *”,并获取包含该值的列(它应该是唯一值),然后我要查看该列并计数是否在单元格中标记了“ Y”或“ y”。工作表的长度和列号总是变化的。我考虑过使用HLookUp,但无法正常工作。我也无法使索引匹配正常工作,因为我不知道“审核”选项卡将包含多少数据或列顺序。
因此,在“主要”选项卡上,我有一个单元格,它计算要审核的文件数。我想转到“审核”选项卡,查找“需要审查的年度报告*”,捕获该列并计算“ Y”次或“ y”在那里。我希望能够将其设置为独自完成。
我目前没有任何代码,因为我找不到任何有效的代码。
答案 0 :(得分:1)
使用VBA
Option Explicit
Sub Looper()
Dim ws As Worksheet, Found As Range, LR As Long
For Each ws In Worksheets
Set Found = ws.Cells.Find("Review Required FY*")
If Not Found Is Nothing Then
LR = ws.Cells(ws.Rows.Count, Found.Column).End(xlUp).Row
MsgBox Application.WorksheetFunction.CountIf(ws.Range(ws.Cells(1, Found.Column), ws.Cells(LR, Found.Column)), "Y")
End If
Set Found = Nothing
Next ws
End Sub
答案 1 :(得分:0)