• ベストアンサー

セルが移動した時に値の代入を行いたい

「A1」にセルがあり、これがほかのセル(例えばA2とかB1とか)に移動したときに「A10」に値を代入すると云うことはできるでしょうか。 「A10」に代入式を書けば出来ますが、VBAで出来るのであれば教えて頂きたく、舌足らずの説明で申し訳ありませんがよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 VBAならば、Worksheet_SelectionChangeイベントでしょうか。 シート上で選択範囲を変更された場合にイベントが発生します。 一例です。 仮にA1以外のセルを選択した場合にA10に+1しています。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address <> "$A$1" Then Range("A10") = Range("A10") + 1 End If End Sub

nzmsys
質問者

お礼

エクセルには疎くて説明不足で申し訳ありませんでした。 ご回答のVBAでやりたいと思っていた通りの結果が出ました。バッチリです。助かりました。 貴重な時間を割いて頂きまして誠にありがとうございました。感謝し御礼申し上げます。 これに懲りず、今後ともご指導方、よろしくお願い致します。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>「A1」にセルがあり、これがほかのセル(例えばA2とかB1とか)に移動  ⇒セルが移動するとの言い回しはしなし、具体的な補足をお願いします。

nzmsys
質問者

補足

エクセルに疎くて説明不足をお詫びします。正直言って質問文を書いているときにもどのように書けば良いのか迷いました。入力が出来る状態にあるセルをどう表現するのか分かりませんでした。フォーカスを取得しているセル?、フォーカスのあるセル?、入力状態にあるセル?、が他のセルに変わった時と云う意味です。これでも分かりにくいですね。申し訳ありませんが教えて頂ければ幸いです。 Acceesで云うコントロールがフォーカスを取得している状態で、コントロールの移動の意味です。 フォーカス喪失後イベントプロシージャ(LostFocus)がエクセルにあるかどうかが知りたいのですが。 よろしくお願い致します。

関連するQ&A

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • Excel VBA セル値の配列代入について

    Excel VBAで、セルの値を配列に代入する処理を、よくやります。 arr=Range("$A1:$C1000").value とかですね。これに関して、オートフィルタで絞り込んだ結果の可視セルだけを、配列に代入するということは、やっぱり出来ないのでしょうか。

  • セルに入力した値をコピーして他のセルにジャンプ

    VBAで、セルに入力されている値をコピーして他のセルにジャンプする事はできるでしょうか? 例えば、「A1」に「465」と入っていたら「A465」に移動     「A1」に「388」と入っていたら「A388」に移動 というふうに、値をコピーするのではなく、コピー&ペーストの動作事態をマクロに組みたいと思っているのですが、どうでしょうか? 変な質問で申し訳ありません。 よろしくお願いします。

  • VBAにてセルの値を移動させる方法を教えてください。

    VBAを使用しEXCELのセルの値を移動させたいのですが、たとえば下記のように●と▲で構成された同じワークシート内のセルの集合に対し(1)の集合を(2)の集合を維持したまま(2)に移動させたいのです。      (1)            (2) ABCDEFGHI    JKLMNOPQR 1▲●           ● 2●            ▲● 3▲ ●          ▲▲● 4●●●●         ●● 5▲▲▲●●        ●▲ 6▲●           ●●▲ 移動後     (2)((1)+(2)) JKLMNOPQR 1●▲● 2▲●● 3▲▲●▲● 4●●●●●● 5●▲▲▲▲●● 6●●▲▲● (1)の異動元のB3の空白は移動後には左に詰めるようにし、移動後の内容でセル列Rを越える値は切り捨てるようにもしたいのです。こんな形でのマクロをご教授いただきたいのですが、よろしくお願いいたします。

  • 関数で値を移動出来ない?

    セルA1に"12"という値が入っています。 セルB1に"=A1"と入力するとB1の表示は"12"となりますが、 A1をクリアするとB1も"0"になってしまいます。 セルの移動のようにA1の値をそのままB1に持って行くことのできる関数はありませんか?

  • EXCELのセルに条件を満たすとき値を追加したい

    セルB1の計算式がTRUEだった場合A1のセルにC1のセルの値を代入し、 さらにB2の計算式がTRUEだった場合A1のセルにC3のセルの値を追加で代入するというような関数の使い方はできますか? 調べてみてもやり方が分からず大変困っています。 質問内容が分かりづらいかもしれませんがご教授ください。 お願いします。

  • 関数が入っている列で値のある最後のセルの値を返す

    お尋ねします。 関数が入っている列で式の値が入っている一番下のセルの値を調べるにはどうしたら良いでしょうか? 例      A列   1   5   2   10   3   13   4   (式の値が無いのでゼロ) B1セルにA3セルの13と言う値を返したいのですが、列に式(SUMPRODUCT関数)が入っていて、実際はA4セルのゼロが返ってきます。 またシート1~シート5 まで上記と同じ式が入っていて、シート1のA列の最後の値「13」をシート6のB1セルに値を返す場合、INDIRECT関数を使った場合、どういう式になるでしょうか? ご回答よろしくお願いします。

  • エクセルVBAで設定したセルの値

    エクセルVBAについての質問です。 例えば、A1とB1のセルの値を参照している数式がC1セルに設定してあるとします。 さらに、D1のセルにはC1の値を参照している数式が設定してあるとします。 VBAでA1、B1のセルの値を変更したとします。 次のステップのVBAでC1、D1のセルを参照すれば、A1、B1の変更が反映された後の正しい値である C1、D1の値が取得できるのでしょうか? できて当たり前だと思うのですが、セルに設定してある数式が大変複雑であったりすると、ちゃんとA1、B1の変更が反映された正しいC1、D1セルの値がVBAで取得できるのかちょっと不安です。 ばかな質問かもしれませんが、回答をよろしくお願い致します。

  • 【エクセル】あるセルの値次第で別セル上の式を変える

    エクセルで質問でございました。 例えばセルA・Bの2つがあり、 セルAの値(もしくは文字列)がxxxであればセルBの式は”式α” セルAの値がyyyであればセルBの式が”式β” といったようにすることは可能なものでございましょうか? 5個ほど選択できるようにしたいと思っております。

  • セルの値を移動には

    Excelでセルの値を他のセルに移動したい時は、 切り取って値貼り付けではうまくいきません。 コピーするしかないのですか? (コピー→値貼り付けではうまくできますが、あとから消すのがめんどうです) セルを移動してもできますが、 枠線も一緒に動いてきてしまいます。