- ベストアンサー
エクセル初心者です。数値の移動についてです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#02です。 間違いが有りましたので訂正します。 >Dim 元の箱 As Variant >Dim 移動先 As Variant Dim 元の箱 As Range Dim 移動先 As Range
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
参考に Sub 中身の移動() Dim 元の箱 As Variant Dim 移動先 As Variant '元の箱の入力確認 未入力ならExit If Range("D3").Value = "" Then MsgBox "元の箱が未入力です。" Exit Sub End If '移動先の入力確認 未入力ならExit If Range("F3").Value = "" Then MsgBox "移動先が未入力です。" Exit Sub End If '元の箱に入力されたデータを検索 Set 元の箱 = Range("A2:A8").Find(What:=Range("D3").Value, LookIn:=xlValues, LookAt:=xlWhole, MatchByte:=False) '無ければExit If 元の箱 Is Nothing Then MsgBox Range("D3").Value & "が見当たりません" Exit Sub End If '移動先に入力されたデータを検索 Set 移動先 = Range("A2:A8").Find(What:=Range("F3").Value, LookIn:=xlValues, LookAt:=xlWhole, MatchByte:=False) '無ければExit If 移動先 Is Nothing Then MsgBox Range("F3").Value & "が見当たりません" Exit Sub End If 移動先.Offset(0, 1).Value = 元の箱.Offset(0, 1).Value 元の箱.Offset(0, 1).ClearContents End Sub ・If...Then...Else ステートメント ・Nothing キーワード ・Find メソッド ・Offset プロパティ ヘルプ、web等で調べて身に付て下さい。
お礼
ご回答ありがとうございます。 いまの状態では理解すら出来ないものでした。 参考にさせて頂き勉強してみます。 ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
例えば。 D3セルに B3 と記入する F3セルに B6 と記入する マクロでは 1.D3で指定したセルの数字を1減らす ただし既にゼロになっていたら,なにもしないで終了する 2.F3で指定したセルの数字を1増やす という動作を行わせることにする。 マクロは標準モジュールに記述して,マクロボタンをクリックして実行する。 sub macro1() if range(range("D3").value) < 1 then end range(range("D3").value) = range(range("D3").value) - 1 range(range("F3").value) = range(range("F3").value) + 1 end sub シート上にオートシェイプの図形を一個配置し,右クリックしてマクロの登録で作成したマクロを登録する。 #解説 人に正しい答えを書いて貰って,それをナニも考えずに言われたとおり間違えずコピーして実行したら出来ました,であれば勿論あなたにも「出来ます」。 あなたは一体何が「出来る」ようになりたくてご相談を投稿したのでしょうか。
お礼
ご回答ありがとうございます。 この図の様に出来上がれば良いという意味での出来るでした。 解りづらい言い回しになってしまい申し訳ありません。 わたしが初心者すぎて理解しきれないようです。 教えて頂いたのに申し訳ありません。 ありがとうございました。
お礼
訂正までわざわざありがとうございます。 なんとか作ることができました。 ここまで教えて頂き恐縮なのですが、箱がアルファベットではなく数字の場合は どこを変更すれは実行出来る様になるのでしょうか? 調べてはみたものの、まだ答えを探せずにいます。 何度もすいません。よろしくお願いいたします。