从一个范围的col Name获取行的值?

时间:2018-01-22 02:29:24

标签: excel excel-vba vba

我试图根据范围中的col名称从行中获取值。 用语言难以解释,将举例说明。

从Col A到Col L:2018年1月,2018年2月,2018年3月......继续......(基本上是一年中的一个月) 每列下都有一行数据。

如何获取当月的行数据?

我甚至无法自拔,因为我想到了一种方式/功能。 只设法获取日期值。

[ 50%] Linking CXX executable extract_cpu
/usr/bin/ld: cannot find -lopencv_dep_nppial
/usr/bin/ld: cannot find -lopencv_dep_nppicc
/usr/bin/ld: cannot find -lopencv_dep_nppicom
/usr/bin/ld: cannot find -lopencv_dep_nppidei
/usr/bin/ld: cannot find -lopencv_dep_nppif
/usr/bin/ld: cannot find -lopencv_dep_nppig
/usr/bin/ld: cannot find -lopencv_dep_nppim
/usr/bin/ld: cannot find -lopencv_dep_nppist
/usr/bin/ld: cannot find -lopencv_dep_nppisu
/usr/bin/ld: cannot find -lopencv_dep_nppitc
collect2: error: ld returned 1 exit status
CMakeFiles/extract_cpu.dir/build.make:121: recipe for target 'extract_cpu' failed
make[2]: *** [extract_cpu] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/extract_cpu.dir/all' failed
make[1]: *** [CMakeFiles/extract_cpu.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

试图调查Dim getDate As String getDate = Format(Now(), "mmm-yy") ,但似乎不喜欢它,因为我没有寻找单一价值。

enter image description here

1 个答案:

答案 0 :(得分:0)

我设法通过使用Find()mid()来解决@Tim Williams建议的问题。

Dim sendDate As String
sendDate = Format(Now(), "mmm-yy")

Dim rgFound As Range
'Need to format them to string due to Format(Now(), "mmm-yy")
Set rgFound = Range("F17:V17").Find(sendDate)
'get the Col name rgFound.Address return $K$17
colName = Mid(rgFound.Address, 2, 1) 'K

然后我使用For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row来循环行并将值分配给数组,如data(cnt) = .Cells(i, colName).Value

干杯:)