|
▼sinzo さん:
>>With clipboard
>> .SetText Range(Range("D10"), Range("d" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
>> .PutInClipboard
>> .GetFromClipboard
>>End With
>
>簡単なのはこれで
>Range(Range("D10"), Range("d" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Copy
>
>区切り文字で結合するなら、こんなかんじかな
>Dim aRng As Range, tRng As Range
>Dim Txt As String
>Txt = ""
>For Each aRng In Range(Range("D10"), Range("D" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Areas
> For Each tRng In aRng
> Txt = Txt & "," & tRng.Text
> Next
>Next
>Txt = Replace(Txt, ",", "", 1, 1)
>
> Dim clipboard As New DataObject
> With New DataObject
> .SetText Txt
> .PutInClipboard
> '.GetFromClipboard
> End With
確かに下記の方法だと簡単ですが、処理が終わると(オートフィルタを外す)と
クリップボードに格納してあった値はなくなってしまいます。
クリップボードに保持したままエクセルを閉じたいのですが・・・
>簡単なのはこれで
>Range(Range("D10"), Range("d" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Copy
>
|
|