我有一个问题,即在Visual Basic中为变量分配多个列。这有可能吗?
目前我的代码如下:
Do
Dim data As String
data = wsh.Cells(Row, 2) 'Data for barcodes is taken from this column
现在我的问题是:如何为数据变量分配/存储更多列?我在下面尝试的方法是不允许的:
data= wsh.Cells(Row,2), wshCells(Row, 3), wshCells(Row, 4)
基本上,我想要做的是采用几个具有一些整数值的列。在这些值中,我想生成QR码并使用生成的QR码填充一些特定列。使用我当前的方法,我只能选择一个列并填充另一列。我无法分别选择多列并填充多列。
这是将QR码插入特定列的一个。
Set qrcode_cell = wsh.Cells(Row, 1) 'The cell where the QR Code will be placed
*注意我正在使用名为StrokeScribe的excel add on工具。
感谢您的帮助和建议。
答案 0 :(得分:0)
将数据变量转换为列表
dim datas() as string, pos as integer
pos = -1
' Add a column to datas
public sub addColumn(byval row as integer, byval col as integer)
pos = pos + 1
redim preserve datas(pos)
datas(pos) = wsh.Cells(row, col)
end sub
' Convert your datas into the format of your qrcode
public function retrieveData() as string
retrieveData = ""
dim data as string
for each data in datas
' data is the string you had in wsh.Cells(Row, col)
' do what you want with this column
next
' affect the result to "retrieveData" to retrieve datas in the needed format
end function
答案 1 :(得分:0)
只需使用&
将每个单元格值附加到现有字符串:
Do
Dim data As String
data = wsh.Cells(Row,2) & wsh.Cells(Row, 3) & wsh.Cells(Row, 4)
如果你的意思是你想在每次循环时添加一个值,那么就像:
Do
Dim data As String
data = data & wsh.Cells(Row,2), wshCells(Row, 3), wshCells(Row, 4)
所以你只需将单元格附加到现有字符串上。