いつもお世話になってます。
エクセル2003のVBAで、セルの範囲を指定してコピーすると行の高さが低くなってしまいます。その他の書式は、変化せずうまくコピーできています。以下がプログラムです。
Sub copy_hyou()
Worksheets("sheet1").Activate
Range("A1:K24").Copy 'セルA1からK24をコピーします。
Range("A25").Select 'A25からペイストします。
ActiveSheet.Paste
End Sub
どう直せば、行の高さもコピーできるでしょうか?
お休み中すみませんがよろしくお願いいたします。
No.7
- 回答日時:
こんばんは。
#5 の回答者です。
以下のようなものは、バージョンによってできないかもしれません。
Sub myPaste()
With ActiveSheet
.Rows("1:24").Copy
.Range("A25").PasteSpecial (xlPasteFormats) '-4122
.Range("A1:K24").Copy
.Range("A25").PasteSpecial (xlPasteValues) '-4163
.Range("A25").Select
End With
Application.CutCopyMode = False
End Sub
No.6
- 回答日時:
エクセルの基本的なことに、コピーはコピー元の値だけでなく、書式もコピーします。
しかし書式の中に行高や列幅は含まれません。現状の行高や列幅はそのままにして、値や書式が張り付くはずです。
列幅だけは、形式を選択して張り付けがありますので、別途VBAなどで実行する手があると思います。
列幅も移すのは
Sub macro2()
Columns("A:E").Select
Application.CutCopyMode = False
Selection.Copy
Columns("I:I").Select
ActiveSheet.Paste
Range("K5").Select
End Sub
行高も移すのは
Sub Macro4()
Rows("2:13").Select
Selection.Copy
Range("A17").Select
ActiveSheet.Paste
Range("B33").Select
End Sub
のようなのをやります。
ただ
コピー先の列や行がコピー元とダブっているとうまくいかない。
これらのことは操作のほうをやってみて、うまくいくか考えてください。
うまくいく操作は、マクロの記録が取れます。
ーー
凝ったことをやるなら、張り付け前に全ての列幅・行高の数値を
読み取り、張り付け後それらに設定しなおす手はあろうが、大げさ
です(#3のご回答はこれか?)。
No.5
- 回答日時:
こんばんは。
別に、高さが低くなっているわけではありません。
その方法では、行の高さがコピーされないからです。
Sub copy_hyou2()
Dim r As Range
Dim i As Long
With Worksheets("Sheet1")
Set r = .Range("A1:K24")
r.Copy .Range("A25")
For i = 1 To r.Rows.Count
.Range("A25").Offset(i - 1).RowHeight = r.Cells(i, 1).RowHeight
Next i
End With
Set r = Nothing
End Sub
No.4
- 回答日時:
こんにちわ
こんな事ではダメでしょうか?
Rows("25:50").AutoFit
わたしは良く使う手ですけど・・・
行数の指定はその都度違うでしょうから、行数を確認させてから範囲を代入すればできると思います。
違っていたらごめんなさい。
No.3
- 回答日時:
むりやりですが
Sub copy_hyou()
Dim R, RH(), i
Worksheets("sheet1").Activate
Range("A1:K24").Select
ReDim RH(Selection.Rows.Count)
For Each R In Selection.Rows
i = i + 1
RH(i) = R.RowHeight
Next
Selection.Copy
Range("A25").Select
ActiveSheet.Paste
i = 0
For Each R In Selection.Rows
i = i + 1
R.RowHeight = RH(i)
Next
Application.CutCopyMode = False
End Sub
No.2ベストアンサー
- 回答日時:
K列以降に何もなければ、行ごとコピーする。
'----------------------------------------
Sub Test()
Worksheets("Sheet1").Activate
Rows("1:24").Copy Range("A25")
End Sub
'----------------------------------------
K列以降にも表があるのなら、コピーした後に不必要な部分を削除する。
外しましたらご容赦願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
誕生日にもらった意外なもの
みなさんがもらった誕生日プレゼントで面白いものがあったらぜひ教えてください!
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
excelの列幅高さが勝手に変わる(特定のPCだけ)
Excel(エクセル)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
5
ExcelVBA Range クラスの PageBreak プロパティを設定できません。
Visual Basic(VBA)
-
6
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
7
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
8
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
9
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
screenupdatingが機能しなくて困ってます
Visual Basic(VBA)
-
12
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
13
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
14
UserForm1.Showでエラーになります。
工学
-
15
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
-
16
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
17
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
Excel 3列毎のセルを別の表に抽...
-
C+vのvは英語で何の頭文字...
-
Wiresharkのパケットの詳細のテ...
-
WORDのグレー括弧って?
-
【エクセル】表の中の文字だけ...
-
【Excel】数式をそのまま他のシ...
-
VBAで確認メッセージを表示させ...
-
エクセルでコピーしたものをコ...
-
コピーされたセルの文字が途中...
-
Book1からBook2へコピー/貼り付け
-
VBAのテキストボックスに文字列...
-
Excel2010 図としてコピー ショ...
-
マイナスの場合「xxxx-」...
-
エクセルVBAでコピーすると行の...
-
セルから一部だけを抜き出して...
-
iPhoneでエクセルのコピーし、...
-
エクセルで値だけを移動するこ...
-
メモ帳またはTeraPadでのコピー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
C+vのvは英語で何の頭文字...
-
【エクセル】表の中の文字だけ...
-
WORDのグレー括弧って?
-
Excel 3列毎のセルを別の表に抽...
-
コピーされたセルの文字が途中...
-
セルに値がある行のみを抽出す...
-
VBAのテキストボックスに文字列...
-
エクセルでコピーしたものをコ...
-
PDFの一部を切り取って別のシー...
-
数式による空白を無視して最終...
-
空白行を無視してコピーするマ...
-
マイナスの場合「xxxx-」...
-
セルから一部だけを抜き出して...
-
EXCEL 1つ飛ばしのセル参照
-
ペーストのVって
-
パワーポイントで図がずれる
-
コピー&貼り付けの仕方を教え...
-
エクセルでマクロにてセル色と...
おすすめ情報