Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9480 / 13646 ツリー ←次へ | 前へ→

【27103】2つのセルの中身を入れ替える方法を教え... 田村亮 05/7/29(金) 0:21 お礼[未読]
【27104】Re:2つのセルの中身を入れ替える方法を教... ponpon 05/7/29(金) 1:11 発言[未読]
【27107】Re:2つのセルの中身を入れ替える方法を教... 田村亮 05/7/29(金) 9:25 お礼[未読]

【27103】2つのセルの中身を入れ替える方法を教え...
お礼  田村亮  - 05/7/29(金) 0:21 -

引用なし
パスワード
   こんなに短時間にみなさんからサポートいただき感謝と同時に驚いております。何せ初心者なもので、皆さん同士の会話に、私一人が取り残されているような感じです。
まず、質問の内容が少々不確定なところがあり、もうしわけありませんでした。質問の内容は、手でやる場合の“Ctrl+X”と“Ctrl+P”を繰り返して、選択したセル(たとえば、“b2:d2”と“f5:h5”)同士をそっくりそのまま入れ替えるということです。ですから、セルの式、値、書式など全部移動させたいと言うことです。また、相対か絶対かと聞かれると恐らく相対ではないか(??)と思います。

で、マクロの細かい内容はよくわからない素人なので、頂いたマクロをそのままコピー&ペーストして実行してみましたところ、私のやり方がわるいのか、実は、ponponさんのマクロのみが正常に作動しました(WinXPのExcel2003です)。

私がやっていることは、まず、“b2:d2”を「ずり」っと反転させて、次にCtrl押下しながら“f5:h5”を「ずり」っと反転させて、マクロ実行です。

ただ、もうひとつ希望を出させてもらいますと、セルの背景の色が移動してくれなかったのが非常に残念です。もし、可能であれば書式も移動できるマクロを教えていただければと思いますので、どなたか、よろしくお願いいたします。

【27104】Re:2つのセルの中身を入れ替える方法を教...
発言  ponpon  - 05/7/29(金) 1:11 -

引用なし
パスワード
   こんばんは。                      この辺に「返信」があるはず  →

お礼は、新規の投稿ではなく前のツリーに続けてしましょう。
前の文に返信の形ですればよいです。

>セルの背景の色が移動してくれなかったのが

以下コードで出来てますが、初心者ですから、検証が十分ではありません。
上級者からの回答も参考にされてください。

Sub test()

  Dim myAD  As String
  Dim myStr As Variant
  Dim myVal As Variant
  Dim myval2 As Variant
  
  myAD = Selection.Address(0, 0)
  myStr = Split(myAD, ",")
  If UBound(myStr) <> 1 Then
    MsgBox "セルをちゃんと二つ選んでください"
    Exit Sub
  End If
   Range(myStr(0)).Copy Cells(1, 255).Resize(1, 2)
   Range(myStr(1)).Copy Range(myStr(0))
   Cells(1, 255).Resize(1, 2).Copy Range(myStr(1))

End Sub

【27107】Re:2つのセルの中身を入れ替える方法を教...
お礼  田村亮  - 05/7/29(金) 9:25 -

引用なし
パスワード
   お礼を新規投稿で行ってしまい、申し訳ありませんでした。今後気をつけます。
(ponponさんの親切なご指導ありがとうございました。)
さて、本題の方はといいますと、ponponさんの最初に頂いたコードを見ているうちに、ど素人ながら大体理解でき、自分なりにカスタマイズし、何とか出来上がりました!! ありがとうございました。
ずっと悩んでいたことがこんなに早く解決するとは、さすが、皆さんのお力と思います。ありがとうございました。

9480 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free