Excel VBA質問箱 IV

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

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


33092 / 76734 ←次へ | 前へ→

【48866】Re:セルの値の交換方法
発言  ichinose  - 07/5/12(土) 22:14 -

引用なし
パスワード
   ▼ユニフ さん:
こんばんは。


>セルA1に(りんご)、セルB1に(ばなな)と書いてあります。
>このりんごとばななの文字の交換に
>
>Sub test()
>Range("C1").Value = Range("A1").Value
>Range("A1").Value = Range("B1").Value
>Range("B1").Value = Range("C1").Value
>Range("C1").ClearContents
>End Sub
>
>という順送りの方法を使っていますが、これを
>
>Sub test()
>セルA1の値とセルB1の値を交換する
>End Sub
>
>のように一行でこなせるコードはありますでしょうか?
昔のBasicには、Swapというステートメントがありましたけどねえ!!

方法としては、ユニフ さんの提示されたロジックが簡単ですよ
但し、テンポラリエリアに別のセル(C1)を使う必要はないですよね!!

'==========================
Sub main()
  Dim a1 As Range, b1 As Range
  Set a1 = Range("a1")
  a1.Value = "りんご"
  Set b1 = Range("b1")
  b1.Value = "バナナ"
  MsgBox "ok"
  Call swap(a1, b1)
End Sub
'============================
Sub swap(ByVal x1 As Range, ByVal x2 As Range)
  Dim tmp As Variant
  tmp = x1.Value
  x1.Value = x2.Value
  x2.Value = tmp
End Sub

3 hits

【48865】セルの値の交換方法 ユニフ 07/5/12(土) 21:11 質問
【48866】Re:セルの値の交換方法 ichinose 07/5/12(土) 22:14 発言
【48869】Re:セルの値の交換方法 Kein 07/5/13(日) 15:43 回答
【48872】Re:セルの値の交換方法 ユニフ 07/5/13(日) 20:02 お礼

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