Excel VBA質問箱 IV

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

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


2127 / 13645 ツリー ←次へ | 前へ→

【69789】エクセルVBAでXORの計算 taka 11/8/29(月) 14:47 質問[未読]
【69793】Re:エクセルVBAでXORの計算 ぴかる 11/8/29(月) 16:46 発言[未読]
【69794】Re:エクセルVBAでXORの計算 sasa 11/8/29(月) 16:46 回答[未読]
【69797】Re:エクセルVBAでXORの計算 taka 11/8/30(火) 9:15 お礼[未読]

【69789】エクセルVBAでXORの計算
質問  taka  - 11/8/29(月) 14:47 -

引用なし
パスワード
   エクセルVBA(エクセルは2003)で
XORの演算をしたいのですが、なかなかうまく行きません。
いま、例えば
セル(A1)に12 が、
セル(A2)に 5 が、 
セル(A3)に "A"が
入れてあったとすると
これらをすべて16進数とみなしてXORの演算をさせたいです
答えは"1D"になるかと思いますが
それをセルA4に表示させたいのです。
簡単な方法はありましたら教えてください。

【69793】Re:エクセルVBAでXORの計算
発言  ぴかる  - 11/8/29(月) 16:46 -

引用なし
パスワード
   ▼taka さん:

勘違いによる変な発言、失礼しました。削除しました。

力技でマクロを組んでみました。
ツール→アドイン→分析ツールにチェックを入れて下さい

  Range("B1").Formula = "=HEX2BIN(A1)"
  Range("B2").Formula = "=HEX2BIN(A2)"
  Range("B3").Formula = "=HEX2BIN(A3)"
  Range("A4").Formula = "=BIN2HEX(C3)"
  
  Range("C2").Formula = "=B1+B2"
  Range("C2").Select
  Selection.Copy
  Selection.PasteSpecial Paste:=xlPasteValues
  ActiveCell.Replace What:="2", Replacement:="0"
  Range("C3").Formula = "=C2+B3"
  Range("C3").Select
  Selection.Copy
  Selection.PasteSpecial Paste:=xlPasteValues
  ActiveCell.Replace What:="2", Replacement:="0"
  
  Application.CutCopyMode = False

2進数に変換し2つを足し算、置き換えにて2→0
また次の2つを足し算、置き換えにて2→0
16進数に変換

OKでしょうか???

【69794】Re:エクセルVBAでXORの計算
回答  sasa  - 11/8/29(月) 16:46 -

引用なし
パスワード
   ▼taka さん:
>エクセルVBA(エクセルは2003)で
>XORの演算をしたいのですが、なかなかうまく行きません。
>いま、例えば
>セル(A1)に12 が、
>セル(A2)に 5 が、 
>セル(A3)に "A"が
>入れてあったとすると
>これらをすべて16進数とみなしてXORの演算をさせたいです
>答えは"1D"になるかと思いますが
>それをセルA4に表示させたいのです。
>簡単な方法はありましたら教えてください。

ユーザー定義関数による簡単な方法を...

'標準モジュール
Function xo(a$, b$) As String
 xo = Hex(CLng("&H" & a) Xor CLng("&H" & b))
End Function

セルA4に =xo(xo(A1,A2),A3)

【69797】Re:エクセルVBAでXORの計算
お礼  taka  - 11/8/30(火) 9:15 -

引用なし
パスワード
   皆さん、ありがとうございました。
アドバイスいただいたやり方でできるようになりました
非常に助かりました。

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