我需要如何从数组写入Excel单元格。
我在数组中有三个值,我想在单元格中写出它看起来像这样:
EUR GBP USD
但我不知道怎么做。我希望你能帮助我。 代码:
On Error Resume Next
For Each element In CurrencyArray
myCollection.Add Item:=element, Key:=element
Next element
On Error GoTo 0
ReDim CurrencyArray(1 To myCollection.Count)
For element = 1 To myCollection.Count
CurrencyArray(element) = myCollection(element)
Next element
Set Summary = Range("M1")
Summary.Value = "Sum Currency"
此时我想将值写入单元格。
ReDim CurrencyArray(0 To myCollection.Count, 1 To 1)
For element = 1 To myCollection.Count
CurrencyArray(element, 1) = myCollection(element)
Next element
CurrencyArray(0, 1) = "Sum Currency"
Set Summary = Range("M1").Resize(UBound(CurrencyArray, 1) + 1)
'Sum currency values
Dim Count As Integer
Dim SumArray As Variant
For Each element In CurrencyArray
For Count = 2 To lRow
If ws.Cells(Count, 5) = element Then
SumArray = SumArray + ws.Cells(Count, 6)
End If
Next Count
Next element
Summary.Value = CurrencyArray
这不起作用......我希望你能帮我解决问题 看起来应该是这样的:
EUR 1000
GBP 500
YEN 100
提前致谢
问题是我有一个不同值的电子表格,但我不允许编辑除VBA之外的电子表格。
货币金额
1000欧元
100欧元
12欧元
70欧元
40英镑
20英镑
我必须过滤不同的电流并总结电流的数量。然后我想将它设置到Excel工作表的正确位置。
1182欧元 60英镑但我事先并不知道有多少货币或金额有多大。起初我喜欢过滤共和国,然后根据货币总结金额。
祝你好运
的Matthias
答案 0 :(得分:0)
要垂直书写,您需要拥有2D数组和正确大小的目标。所以 (完全未经测试):
System.out
另一种选择是移植你的单一尺寸阵列。但是你可以转置的阵列有多大的限制;并且,以上述方式执行此操作,当您必须单独从集合中将元素写入数组时,保存该步骤。
答案 1 :(得分:0)
我不确定我是否正确地提出了你的问题,但试试这个:
Dim CurrencyArray As Variant
CurrencyArray = Array("EUR", "GBP", "USD")
Range("A1:A3") = Application.Transpose(CurrencyArray)