通常では形式の貼り付けで列幅だけは貼り付けられるが、
行幅だけはコピペ出来ない。
まずは貼り付けたい箇所を選択し下記のマクロを実行する。
貼り付け先を指定するインプットボックスが出るので
直接入力するか、貼りたい場所をクリックする。
A1:G50を選択し、貼り付け先をB1にする。
この時は行幅だけ反映される。
A1:G50を選択し、貼り付け先をB列を指定する。
これで行、列幅共に反映される。
※貼り付け先を別ブックでも指定できるが行幅だけしか反映されないので
貼り付け後に形式を選択して貼り付けで列幅を貼ればよい。
Sub 列幅も行高もコピー()
'コピーする範囲を選択してから実行
Dim i As Long
Dim gyosu As Long
Dim myRange As Range
Dim doko As Range
Dim saki As Range
Set myRange = Selection
gyosu = myRange.Rows.Count
ActiveSheet.Select
Set doko = Application.InputBox("コピー先の先頭セルを選択", Type:=8)
Set saki = doko.Resize(gyosu, myRange.Columns.Count)
myRange.Copy
Range(doko.Address).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteColumnWidths
Application.CutCopyMode = False
For i = 1 To gyosu
saki.Rows(i).RowHeight = myRange.Rows(i).RowHeight
Next
End Sub
0 件のコメント:
コメントを投稿