0
異なるシートの内容に基づいて動的配列を作成する関数があります。各配列のサイズは異なります。私は、各配列の内容を関数が呼び出されたワークシートに貼り付けたいと思います。各配列のサイズが異なると、転置関数を使用できないようです。助言がありますか?ここで不明なサイズの配列をブック(VBA)の場所に貼り付けます
は配列を作成する関数です:
Function FindConstituents(ByRef ys As Worksheet) As String()
Dim a() As String
Dim size As Integer
Dim i As Integer
Dim j As Integer
size = 0
Dim row As Integer
row = 2
ReDim Preserve a(size)
While ys.Cells(row, 4) <> ""
If IsInTable(ys.Cells(row, 4), ys, 2) Then
ReDim Preserve a(size)
a(size) = ys.Cells(row, 4)
size = size + 1
End If
row = row + 1
Wend
size = size + 1
<<Code to paste contents of a() onto a place in the worksheet>>
FindConstituents = a
End Function
完璧、ありがとうございます。同じ行に値をリストしたいが、列を変更したいとします(G1、H1など)。forループをどのように変更しますか? – Caerus
最初のTransposeを削除し、2番目のオフセットで 'Offset(、i)'を使います。 –
ああ、最初に 'Resize(Ubound(a)+1)'を 'Resize(Ubound(a)+1)'に変更する必要があります。 –