こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAについて

エクセルVBAについて

下ような、最初に選択したセルに、次に選択したセルをコピーするマクロを使用しています。

Dim Frstcell As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.MergeCells = False And Target.Count > 1 Then Exit Sub

On Error Resume Next 'エラーを無視

If Target.Column >= 5 And Target.Column <= 35 Then 'E:AIコピー先
Set Frstcell = Target.Cells(1)

ElseIf Target.Column >= 45 And Target.Column <= 46 Then 'AS:ATコピー元


If Target.Cells(1).Value = "" Then Exit Sub
Target.Copy Frstcell.MergeArea

End If

On Error GoTo 0 'エラートラップ終了

End Sub

この場合、コピー元の枠線の書式も、コピー先にコピーされてしまうのですが、
書式なしでコピーするにはどうしたらよいでしょうか?

よい方法がありましたら、よろしくお願いいたします。

投稿日時 - 2010-07-12 07:46:14

QNo.6032437

すぐに回答ほしいです

質問者が選んだベストアンサー

手動でコピーするときにも、値のみ貼付けたい場合は
形式を選択して貼付け > 値のみ とやりますね。

回答1にあるようにそれをマクロ記録すればいいのですが、
値のみ貼付けは、値の代入と同じことですから
わざわざCopyメソッドを使うことはありません。


  Target.Copy Frstcell.MergeArea 

  Frstcell.Value = Target.Cells(1).Value

としてやればいいでしょう。
以上です。
 

投稿日時 - 2010-07-12 11:23:39

お礼

うまくいきました!迅速なご回答感謝いたします!

(1)の回答を下さった方も、マクロの記録、勉強になりました。

ありがとうございました。

投稿日時 - 2010-07-12 11:53:13

ANo.2

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

まいど、まいど同じことを記載しています。いつになったら、この手の質問がでなくなるんだろう。

エクセルには、マクロを記録する機能があります。また、ヘルプも付いています。VBAのヘルプがないのなら追加インストールができますので、やってください。

>書式なしでコピーするにはどうしたらよいでしょうか

マクロの記録。

これで、知りたい事を実際にやってから、

記録の停止。

これでマクロの編集でVBAがみれます。わからないメソッドなどはヘルプで検索。リファレンスに詳細な説明がでています。こんな事最初に習おうね。

投稿日時 - 2010-07-12 08:57:33

あなたにオススメの質問