Vba 将字符串数组输出到新范围
我试图从一个工作表的特定范围中获取字符串,并将数组输出到另一个工作表范围。不幸的是,生成的代码没有提供任何类型的输出 提前谢谢你的帮助Vba 将字符串数组输出到新范围,vba,excel,Vba,Excel,我试图从一个工作表的特定范围中获取字符串,并将数组输出到另一个工作表范围。不幸的是,生成的代码没有提供任何类型的输出 提前谢谢你的帮助 Dim strFunds As String Dim varItemName As Variant Dim strItemName() As String Dim iRow As Long Dim rngMyRange As Range Sub DataGrab() ActiveWorkbook.Sheets("Returns").Activate
Dim strFunds As String
Dim varItemName As Variant
Dim strItemName() As String
Dim iRow As Long
Dim rngMyRange As Range
Sub DataGrab()
ActiveWorkbook.Sheets("Returns").Activate
Set rngMyRange = Range("A5:A100")
varItemName = rngMyRange
ReDim strItemName(LBound(varItemName, 1) To UBound(varItemName, 1))
ActiveWorkbook.Sheets("Data").Activate
Range("A3:A" & UBound(strItemName) + 1) = WorksheetFunction.Transpose(strItemName)
End Sub
您没有为
strItemName
分配任何值。这是一个将所有内容都保存在varItemName
中的版本
ActiveWorkbook.Sheets("Returns").Activate
Set rngMyRange = Range("A5:A100")
varItemName = rngMyRange.Value
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, UBound(varItemName))) = WorksheetFunction.Transpose(varItemName)
更新:如果不需要保存varItemName
,可以使用以下较短版本:
Set rngMyRange = Range("A5:A100")
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, 100)) = WorksheetFunction.Transpose(rngMyRange)
您没有为
strItemName
分配任何值。这是一个将所有内容都保存在varItemName
中的版本
ActiveWorkbook.Sheets("Returns").Activate
Set rngMyRange = Range("A5:A100")
varItemName = rngMyRange.Value
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, UBound(varItemName))) = WorksheetFunction.Transpose(varItemName)
更新:如果不需要保存varItemName
,可以使用以下较短版本:
Set rngMyRange = Range("A5:A100")
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, 100)) = WorksheetFunction.Transpose(rngMyRange)
您没有为
strItemName
分配任何值。这是一个将所有内容都保存在varItemName
中的版本
ActiveWorkbook.Sheets("Returns").Activate
Set rngMyRange = Range("A5:A100")
varItemName = rngMyRange.Value
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, UBound(varItemName))) = WorksheetFunction.Transpose(varItemName)
更新:如果不需要保存varItemName
,可以使用以下较短版本:
Set rngMyRange = Range("A5:A100")
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, 100)) = WorksheetFunction.Transpose(rngMyRange)
您没有为
strItemName
分配任何值。这是一个将所有内容都保存在varItemName
中的版本
ActiveWorkbook.Sheets("Returns").Activate
Set rngMyRange = Range("A5:A100")
varItemName = rngMyRange.Value
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, UBound(varItemName))) = WorksheetFunction.Transpose(varItemName)
更新:如果不需要保存varItemName
,可以使用以下较短版本:
Set rngMyRange = Range("A5:A100")
ActiveWorkbook.Sheets("Data").Activate
Range(Cells(3, 1), Cells(3, 100)) = WorksheetFunction.Transpose(rngMyRange)
编辑:哎呀,我看不到上面的答案。这个答案几乎是一样的 试试这个 首先,将
varItemName
更改为数组:
Dim varItemName() As Variant
然后:
这是假设您希望将列数据转换为一行。如果不是,请在最后一行执行此操作:
Range("A3").Resize(UBound(varItemName) + 1, 1) = varItemName
编辑:哎呀,我看不到上面的答案。这个答案几乎是一样的 试试这个 首先,将
varItemName
更改为数组:
Dim varItemName() As Variant
然后:
这是假设您希望将列数据转换为一行。如果不是,请在最后一行执行此操作:
Range("A3").Resize(UBound(varItemName) + 1, 1) = varItemName
编辑:哎呀,我看不到上面的答案。这个答案几乎是一样的 试试这个 首先,将
varItemName
更改为数组:
Dim varItemName() As Variant
然后:
这是假设您希望将列数据转换为一行。如果不是,请在最后一行执行此操作:
Range("A3").Resize(UBound(varItemName) + 1, 1) = varItemName
编辑:哎呀,我看不到上面的答案。这个答案几乎是一样的 试试这个 首先,将
varItemName
更改为数组:
Dim varItemName() As Variant
然后:
这是假设您希望将列数据转换为一行。如果不是,请在最后一行执行此操作:
Range("A3").Resize(UBound(varItemName) + 1, 1) = varItemName
我得到一个“13”类型不匹配的运行时错误。我已将范围A5:A100切换到B5:B100,但我不确定这是导致错误的原因。我得到了一个“13”类型不匹配的运行时错误。我已将范围A5:A100切换到B5:B100,但我不确定这是导致错误的原因。我得到了一个“13”类型不匹配的运行时错误。我已将范围A5:A100切换到B5:B100,但我不确定这是导致错误的原因。我得到了一个“13”类型不匹配的运行时错误。我已将A5:A100的范围切换到B5:B100,但我不确定这是导致错误的原因。