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で列幅や、行の高さを変更せずそのままのサイズでコピーし貼り付ける |