Excel精英培训网

 找回密码
 注册

QQ登录

只需一步,快速开始

工作中常用的Excel函数公式,全印在一张超大鼠标垫上
查看: 158|回复: 7

[已解决]vba中获取首列列值 请大神留下一个脚印

[复制链接]
发表于 2021-9-23 13:43 | 显示全部楼层 |阅读模式
本帖最后由 lj3543711 于 2021-9-23 13:45 编辑

如何用VBA   获取首行 商品名称    数量      规格   的列值    赋值给变量 单独获取每个变量的值
这三列不固定  但名称固定  都是在首行是肯定的
获取首行列值.png
附件已上传
获取首行列数.zip (5.89 KB, 下载次数: 3)
发表于 2021-9-23 14:18 | 显示全部楼层
Sub demo()
   Name = [INDEX(2:2,MATCH("商品名称",1:1,))]
   qty = [INDEX(2:2,MATCH("数量",1:1,))]
   Item = [INDEX(2:2,MATCH("规格",1:1,))]
   Debug.Print Name
   Debug.Print qty
   Debug.Print Item
End Sub

祝順心,南無阿彌陀佛!



log1.png
回复

使用道具 举报

 楼主| 发表于 2021-9-23 14:24 | 显示全部楼层
回复

使用道具 举报

发表于 2021-9-23 14:28 | 显示全部楼层

是喔?您截个图我看看,看您的值放在哪一行
回复

使用道具 举报

 楼主| 发表于 2021-9-23 14:34 | 显示全部楼层
cutecpu 发表于 2021-9-23 14:28
是喔?您截个图我看看,看您的值放在哪一行

zhi.png
改为1  的情况下  输出还是 字符  值不是列数
回复

使用道具 举报

发表于 2021-9-23 14:51 | 显示全部楼层    本楼为最佳答案   
lj3543711 发表于 2021-9-23 14:34
改为1  的情况下  输出还是 字符  值不是列数

原来是要「列数」呀

Sub demo()
   Name = [MATCH("商品名称",1:1,)]
   qty = [MATCH("数量",1:1,)]
   Item = [MATCH("规格",1:1,)]
   Debug.Print Name
   Debug.Print qty
   Debug.Print Item
End Sub
回复

使用道具 举报

 楼主| 发表于 2021-9-23 15:11 | 显示全部楼层
cutecpu 发表于 2021-9-23 14:51
原来是要「列数」呀

Sub demo()

完美  漂亮的很!
回复

使用道具 举报

发表于 2021-9-23 15:28 | 显示全部楼层
Sub test()
      Dim rng As Range, arr(), n As Byte
      For Each rng In Range("1:1")
            If Len(rng.Text) > 0 And InStr("商品名称数量规格", rng.Text) > 0 Then
                  n = n + 1
                  ReDim Preserve arr(1 To n)
                  arr(n) = rng.Column
            End If
      Next
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2021-10-20 09:50 , Processed in 0.205124 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表