0

アップデート:

このエラーの原因となった 2 つの問題がありました。まず、コピー/貼り付け機能を台無しにしていた SAS アドインとの衝突がありました。2 つ目は、転置が失敗する原因となった配列に null 値があったことです。null を処理しましたが、すべて正常に動作します。

Excel ワークシートに値の配列を割り当てようとしています。TRANSPOSE 関数を使用すると、型の不一致エラーが発生します。理由がわかりません。セットには約 200 の「行」しかありません。

Worksheets("xyz").Range("A2").Resize(ValidCode, 5).Value = & _ 
  Application.WorksheetFunction.Transpose(CodeData)

転置された配列の代わりに静的な値を入れるとうまくいきます。何が起こっているのかわかりません。タイプ「Variante/Variante(0~4、0~205)」です

コードループで保存し直す必要があったため、配列を転置する必要があります(したがって、「列」は行などです)。手動で転置できると思いますが、それは不要なようです。

4

1 に答える 1

0

& 文字は必要ありません。実際1004、コードを実装しようとするとエラーが発生します。

そうしないと、あなたが説明したエラーを再現できません。このサンプルコードは、機能の有無Transposeにかかわらず機能しますがTranspose、目的の結果を得るには使用する必要があります。

Sub Test()

Dim ws As Worksheet: Set ws = Sheets("xyz")
Dim rng As Range: Set rng = ws.Range("A2")
Dim r As Integer
Dim c As Integer
Dim CodeData() As Variant

ReDim Preserve CodeData(4, 205)   '## Create a dummy array to test this method
For r = 0 To UBound(CodeData, 1)  '## populate the array with random numbers
    For c = 0 To UBound(CodeData, 2)
        CodeData(r, c) = Application.WorksheetFunction.RandBetween(0, 100)
    Next
Next

'## Drop this array in to the worksheet:
rng.Resize(UBound(CodeData, 2) + 1, UBound(CodeData, 1) + 1).Value = _
    Application.WorksheetFunction.Transpose(CodeData)


End Sub
于 2013-07-18T16:51:35.407 に答える