gpt4 book ai didi

vba - 选择/分配多个列和行到数组

转载 作者:行者123 更新时间:2023-12-02 21:48:18 25 4
gpt4 key购买 nike

我的列结构与下面的类似

   Author   Book
---- ----
---- ----
Vicky Book1
Vicky Book2
Giri Book1
Giri Book3

author 列位于 B 列 中,Book可能出现在基于其他列的任何列中数据

我想在这两列中选择值

我试过了

fileArray = Range("B4:B" & finalRow & "," & endColumn).Value

这里第一部分工作正常,finalRow 包含直到哪条记录为止的行号,endColumn 是提供书籍详细信息的位置

如果我使用

fileArray = Range("B4:B" & finalRow )

它正在获取值,但是当我尝试再添加一列时,它会抛出错误

我也尝试了下面的

fileArray = Range("B4:B9,S4:S9").Value

但它没有获取S4:S9的值

如何得到想要的值?

最佳答案

你可以这样做:

Dim fileArray
Dim finalRow As Long
Dim targetCol As Long

With Sheets("SheetName") ' change to your actual sheet name
finalRow = .Range("B" & .Rows.Count).End(xlUp).Row
' assuming "Book" is the column header and headers are in 3rd row
' find the correct column number
targetCol = .Range("B3").EntireRow.Find("Book").Column
fileArray = Array(.Range("B4:B" & finalRow), _
.Range(.Cells(2, targetCol), .Cells(finalRow, targetCol)))
End With

获取值:

Debug.Print fileArray(0)(1) ' returns Vicky
Debug.Print fileArray(1)(1) ' returns Author1

所以就像第一个括号括起来的数字是列号,第二个是行号。

关于vba - 选择/分配多个列和行到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29911196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com