1
Excelでvba関数を作成して、セルの色で列を並べ替えて別の場所に結果を出力しようとしています。私が現在持っているものは、現在私にエラーを与えています色で並べ替えて別の場所に出力
Function SortColor(colorSearchRange As Range, colorToSearch As Range, outputRange As Range)
Dim colorValue As Integer
Dim coloredItems(150) As String
Dim index As Integer
colorValue = colorToSearch.Interior.ColorIndex
index = 0
Set cell = colorSearchRange
For Each cell In colorSearchRange
If cell.Interior.ColorIndex = colorValue Then
coloredItems(index) = cell.Value
index = index + 1
End If
Next cell
Range(outputRange & UBound(coloredItems) + 1) = WorksheetFunction.Transpose(coloredItems)
End Function
私はビジュアルベーシックで初めてです。どのようなタイプの助けでも大歓迎です。 cell
がFor Each cell In colorSearchRange
ループ
最終的にあなたのFunction
ISN」は各繰り返しで設定されようとしていることから、あなたは、Set cell = colorSearchRange
を必要としないも
outputRange.Resize(index) = WorksheetFunction.Transpose(coloredItems)
:
*現在、エラーが表示されます* - エラーとは何ですか(何行目)ですか? ...一見すると、この行 'Range(outputRange&UBound(coloredItems)+ 1)'は範囲引数のsytnaxが正しくありません –
@ScottHoltzmanエラーが発生しました。「式に使用されている値が間違ったデータですタイプ"。私はデバッガを通過して、配列colourItemsが正しく構築されているように見えますが、outputRangeに正しく出力されていません。 –
これはScottの話です。 Rangeメソッドが間違ったタイプの引数で呼び出されているため、最終行を書き直す必要があります。 私は 'RangeRange(outputRange、outputRange.Offset(UBound(colourItems)))'を提案します。これは、あなたが探していたと思っているoutputRangeで始まる列のすべてのデータを提供します。 – Mikegrann