Excel VBA質問箱 IV

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

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


54430 / 76732 ←次へ | 前へ→

【27095】Re:2つのセルの中身を入れ替える方法を教え...
回答  bykin  - 05/7/28(木) 21:00 -

引用なし
パスワード
   こんばんわ。

入れ替えるといっても、データだけなのか、書式も入れ替えるのか、
数式が入ってた場合は???・・・とか、
交換対象のセル同士の大きさのチェックとか結合セルの取り扱いとか・・・
なんて考えていくと実は結構面倒なんです(^^;;

単に同一シート内の単独セル同士のセル値のみを入れ替えるんやったら、こんなんかな?

Sub test()
  Dim TempValue As Variant
  
  If TypeName(Selection) = "Range" Then
    With Selection
      If .Areas.Count = 2 Then
        If .Areas(1).Cells.Count + .Areas(2).Cells.Count = 2 Then
          TempValue = .Areas(1).Value
          .Areas(1).Value = .Areas(2).Value
          .Areas(2).Value = TempValue
        End If
      End If
    End With
  End If
End Sub

ただし、このコードでは数式が入ってたら値変換されます。
数式の場合は絶対参照/相対参照のどっちでいくんか?ってことにも配慮する必要があります。

アドインでよければ拙作の「Tool★彡」に「セル交換」機能がついてるんで
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=101;id=FAQ
いっぺん試してみておくれやす。

ほな。

0 hits

【27093】2つのセルの中身を入れ替える方法を教え... 田村亮 05/7/28(木) 20:32 質問
【27095】Re:2つのセルの中身を入れ替える方法を教え... bykin 05/7/28(木) 21:00 回答
【27096】Re:2つのセルの中身を入れ替える方法を教... ponpon 05/7/28(木) 21:32 発言
【27098】マウスで「ずりっ」と二つ選ぶと??? ponpon 05/7/28(木) 21:45 発言
【27099】Re:2つのセルの中身を入れ替える方法を教... MARBIN 05/7/28(木) 22:08 回答
【27100】Re:2つのセルの中身を入れ替える方法を教え... かみちゃん 05/7/28(木) 22:17 回答
【27101】Re:2つのセルの中身を入れ替える方法を教え... ponpon 05/7/28(木) 22:34 発言
【27108】Re:2つのセルの中身を入れ替える方法を教え... 田村亮 05/7/29(金) 9:27 お礼
【27122】Re:2つのセルの中身を入れ替える方法を教... kaeru144 05/7/29(金) 11:21 発言
【27124】Re:2つのセルの中身を入れ替える方法を教... 田村亮 05/7/29(金) 11:48 お礼
【27167】Re:2つのセルの中身を入れ替える方法を教... マキチャン 05/7/31(日) 16:20 発言

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