Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23197 / 76738 ←次へ | 前へ→

【58911】Re:別のファイルへペーストの方法
お礼  ppp  - 08/11/17(月) 23:54 -

引用なし
パスワード
   ▼Hirofumi さん:
>手動でCopyしても列幅と行高さはCopyされないと思いますが?
>如何しても、Copyでしたいなら、こんな風に成るのかな?
>
>Public Sub Sample2()
>
>  Dim objSheet    As Worksheet
>  Dim i As Long
>  Dim strTop As String
>  Dim wksPaste As Worksheet
>  
>  '画面更新を停止
>  Application.ScreenUpdating = False
>    
>  'ActiveSheetの参照を保存
>  Set objSheet = ActiveSheet
>  '追加したBookの参照を保存
>  Set wksPaste = Workbooks.Add.Worksheets(1)
>  
>  With objSheet.UsedRange
>    '使用範囲の先頭位置を保存
>    strTop = .Cells(1).Address
>    '元となるExcelのデータをコピー
>    .Copy Destination:=wksPaste.Range(strTop)
>    'データの有る列の列幅を設定
>    For i = 1 To .Columns.Count
>      wksPaste.Range(strTop).Offset(, i - 1).ColumnWidth _
>          = .Cells(1, i).ColumnWidth
>    Next i
>    'データの有る行の行高さを設定
>    For i = 1 To .Rows.Count
>      wksPaste.Range(strTop).Offset(i - 1).RowHeight _
>          = .Cells(i, 1).RowHeight
>    Next i
>  End With
>    
>  '画面更新を再開
>  Application.ScreenUpdating = False
>    
>  Set wksPaste = Nothing
>  Set objSheet = Nothing
>    
>End Sub

ご回答ありがとうございます。
シートの表示なんですが、列幅はすべて2、で背景色は値があるところ以外は
全て白にしています。
手動でコピーすると出来ますが、マクロはできないみたいです。
ですので一度シートを作成し、そこにコピーしてそのシートを新規ブックに
コピーという方法で対処してみたいと思います。

親切にご教示にありがとうございました。

0 hits

【58881】別のファイルへペーストの方法 ppp 08/11/15(土) 23:54 質問
【58882】Re:別のファイルへペーストの方法 Hirofumi 08/11/16(日) 6:09 回答
【58883】Re:別のファイルへペーストの方法 Hirofumi 08/11/16(日) 7:44 発言
【58911】Re:別のファイルへペーストの方法 ppp 08/11/17(月) 23:54 お礼
【58895】Re:別のファイルへペーストの方法 ppp 08/11/16(日) 22:05 お礼

23197 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free