求大神耐心解答VBA问题 在线等

求一段代码定义i条件为:在所有工作表的第五行中,单元格内容为“ABC”的列的列序号... 求一段代码定义i 条件为:在所有工作表的 第五行中, 单元格内容为“ABC”的列
的列序号
展开
 我来答
sea3768
2017-12-25 · TA获得超过825个赞
知道小有建树答主
回答量:617
采纳率:84%
帮助的人:316万
展开全部

Sub a()

Dim a, b, i()

For a = 1 To Worksheets.Count

ReDim Preserve i(a - 1)

For b = 1 To Sheets(a).Range("IV5").End(xlToLeft).Column

If Sheets(a).Cells(5, b) = "ABC" Then i(a - 1) = b: Exit For

Next

Next

End Sub

  1. 从第一张表开始找,有几张表,数组i就有几个元素

  2. 每行的范围是从第1列到第256列(IV列)往左的第一个非空单元格

  3. 找到第1个“ABC”,就放进数组i,然后退出,进行下一张表

追问
这个思路好,太谢谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Excel开发
2017-12-25 · TA获得超过2915个赞
知道大有可为答主
回答量:1989
采纳率:53%
帮助的人:1017万
展开全部
i是循环变量,x是返回的列序号
For i = 1 To Cells(5, 1).End(xlToRight).Column
If Cells(5, i) = "ABC" Then
x = Cells(5, i).Column
End If
Next i
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
v轻扬v
2017-12-25 · TA获得超过946个赞
知道小有建树答主
回答量:682
采纳率:69%
帮助的人:160万
展开全部
列序号是用字母表示法?还是数字表示法?
更多追问追答
追问
不用管列序号了,k = Sheets(1).UsedRange.Rows.Count + 1
就比如说这句是定义K为多少行,想要一个 满足标题条件来定义的i的表达式
追答
Dim Sht as WorkSheet,Rng as Range,i as long
for each Sht in ThisWorkbook
    for each Rng in Sht.Rows(5)
        if Rng.Value="ABC" then i=Rng.Column
    next
next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式