VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 Excel・Word 関係のメニュー
1.VBからExcel及びWordを操作する時の注意事項
2.VBからエクセルを起動・終了する基本操作例
3.上記、基本操作例を使ってのVBからExcel にデータを送りグラフを表示
4.Excel ワンポイントテクニック集
5.Excel 2007 以降のリボンを操作する及びユーザーからの操作を禁止する
6.指定のセル範囲の列幅・行の高さを含めてコピー・アンド・ペーストする
7.
8.
9.
10.
11.VB6.0 からワードを起動・終了する基本操作例
12.Word の既存ファイルを読み込み検索・置き換え後保存する
13.VB6.0からExcel/Wordを起動しExcelの表をWordに貼付印刷する
14.VBから Word の差し込み印刷機能を使って[宛て名ラベル]を印刷する
15.Word の Tasks プロパティを使ってのタスク(プロセス)の一覧を取得・他
16.Word VBA 簡易リファレンス及び使用例
17.
18.
19.
20.


6.指定のセル範囲の列幅・行の高さを含めてコピー・アンド・ペーストする 
1.指定のセル範囲の列幅・行の高さを含めてコピー・アンド・ペーストする
2.
3.
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Excel 2010
Option :[Option Explicit]
参照設定:Microsoft Excel *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照
使用 API:

その他 :ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。
    :Excel の起動及び終了は、[VBからエクセルを起動・終了する]を使ってサンプルをテストして下さい。
このページのトップへ移動します。 1.指定のセル範囲の列幅・行の高さを含めてコピー・アンド・ペーストする

Private Sub Command3_Click()

  '        コピー元の範囲      ペースト位置
  Call myCopyPaste(xlSheet.Range("A1:D6"), xlSheet.Range("F8"))
  'コピー元の範囲には、別途表等を設定しておいて下さい。

End Sub

Private Sub myCopyPaste(ByVal SourceRange As Range, ByVal destinationRange As Range)
  SourceRange.Copy
  xlSheet.Paste destinationRange
  Dim i As Long, j As Long
  With SourceRange
    For i = 1 To .Columns.Count
      'コピー元の列幅を取得してコピー先の列幅を設定
      destinationRange.Columns(i).ColumnWidth = .Columns(i).ColumnWidth
    Next
    For j = 1 To .Rows.Count
      'コピー元の行の高さを取得してコピー先の行の高さを設定
      destinationRange.Rows(j).RowHeight = .Rows(j).RowHeight
    Next
  End With
End Sub

当然の事ながら矛盾するような位置にペーストした場合は、正しい動作をしません。
(B列からD列/2行目から6行目にペーストする等)
又、必要に応じてエラーチェックをしておいて下さい。

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.

このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
Excelで列幅や行の高さをコピー元と同じにコピーする方法   Excelで列幅・行の高さまでコピーする方法  Excelで列幅や、行の高さを変更せずそのままのサイズでコピーし貼り付ける




このページのトップへ移動します。