1
我有从4X1格式1×4格式(4行)移调范围变
我找遍但我似乎无法找到任何工作调换范围变量的问题。
这里是我的尝试:在价值分配
Function test(periodcol2 As Range, ratecol2 As Range, X As Range)
Dim periodcol As Range
Dim ratecol As Range
If periodcol2.Columns.Count > 1 Then
periodcol.Value = Application.WorksheetFunction.Transpose(periodcol2)
ratecol.Value = Application.WorksheetFunction.Transpose(ratecol2)
End If
崩溃。
If periodcol2.Columns.Count > 1 Then
Set periodcol = Application.WorksheetFunction.Transpose(periodcol2)
Set ratecol = Application.WorksheetFunction.Transpose(ratecol2)
End If
相同的结果。
编辑:这也不起作用,而不是它使periodcol内容“空”所示用Excel工具提示
Dim periodcol As Variant
Dim ratecol As Variant
If periodcol2.Columns.Count > 1 Then
periodcol = Application.WorksheetFunction.Transpose(periodcol2)
ratecol = Application.WorksheetFunction.Transpose(ratecol2)
Else
EDIT2:rate_count & period_count等于0在此代码的末尾。
Function TEST(periodcol2 As Range, ratecol2 As Range, X As Range)
Dim periodcol As Variant
Dim ratecol As Variant
If periodcol2.Columns.Count > 1 Then
periodcol = Application.Transpose(periodcol2)
ratecol = Application.Transpose(ratecol2)
Else
Set periodcol = periodcol2
Set ratecol = ratecol2
End If
Dim period_count As Integer
Dim rate_count As Integer
period_count = periodcol.Rows.Count
rate_count = ratecol.Rows.Count
注意:我不想将值粘贴到任何位置,只是将它们放在代码中。
当你从一个范围内调换值时,你不使用范围而是使用数组。所以你声明(例如)'periodcol'为Variant并且不要使用'Set'来指定来自'Transpose'的返回值。 –
参见编辑,使它们变体产生不同的结果(没有崩溃),但仍然不起作用 – LucasSeveryn
编辑我的帖子,那些输入到函数,如果函数检测到更多的列然后一个,它需要转置它。 – LucasSeveryn