gpt4 book ai didi

excel - 如何从 "horizontal"单元格范围填充组合框?

转载 作者:行者123 更新时间:2023-12-03 02:16:21 28 4
gpt4 key购买 nike

假设我有一行单元格,其中包含以下值:

B2: "banana"
C2: "orange"
D2: "apple"

我把这个范围变成一个二维数组。我的主要代码在Word文档中:

dim MySheet as Excel.Worksheet
dim arr as variant
Set MySheet = Excel.Sheets(1)
arr = MySheet.Range(MySheet.Cells(2, 2), MySheet.Cells(2, 4))

我有一个组合框CbbFruits,我不想一项一项地添加项目,所以我使用.list方法:

CbbFruits.List = arr

仅添加“banana”条目。据我了解,此方法要工作于数组,因此单元格范围必须垂直放置。

我不想重新洗牌我的细胞。有没有一种方法可以切换数组的轴?

最佳答案

从 Excel 范围创建数组的问题是值是水平表示的(请记住,它是一个二维数组)。您需要transpose具有垂直表示值的数组。在 Word-VBA 中执行此操作的最简单方法是使用现有的 Excel.Application 对象。

这是一个完整的示例:

Private Sub Test()
Dim oExcel As New Excel.Application
Dim oWb As Excel.Workbook: Set oWb = oExcel.Workbooks.Open(filePath)

Dim MySheet As Excel.Worksheet
Set MySheet = oWb.Worksheets(1)
Dim arr As Variant
arr = MySheet.Range(MySheet.Cells(2, 2), MySheet.Cells(2, 4))

CbbFruits.List = oExcel.WorksheetFunction.Transpose(arr)

oWb.Close SaveChanges:=False
oExcel.Quit
End Sub

关于excel - 如何从 "horizontal"单元格范围填充组合框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59229613/

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