以下の UDF を使用して参照を連結し、結果を
のような SQL クエリに含めますref in ('ref1', 'ref2', ...)
。
UDFは通常どおり正常に動作しますが、参照の膨大なリスト#VALUE
を配置する必要がある場合は、Excel に入り
ます。
私はすでにこの回答を見ていますが、UDFを機能させることができません...
String
関数の型をからVariant
(明示的に)に変更しようとしましたが
、何も変わりませんでした...
私も試しConcatSQL2 = A(0)
てみConcatSQL2 = A
ました出力、
Dim A(0 To 0) As String
宣言、...そして再び機能しません...
アイデアが不足しています...
参考までに、結果の文字列の長さは約 220k になると予想されます...
大量のテキストを生成するために、ここで Lorem Ipsum ジェネレーターを使用できます!
Public Function ConcatSQL2(Plage As Range, Optional Doublon As Boolean = True)
Dim A() As String, _
Cel As Range
ReDim A(0)
A(0) = "('"
For Each Cel In Plage.Cells
If (Cel.Value <> "" And (InStr(1, A(0), Cel.Value) = 0 Or Doublon)) Then
A(0) = A(0) & Cel.Value & "', '"
End If
Next
A(0) = Left(A(0), Len(A(0)) - 3) & ")"
ConcatSQL2 = A(0)
End Function