• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel セルの内容入れ替え)

Excelセルの内容入れ替え

このQ&Aのポイント
  • Excelのセルの内容を入れ替える方法について教えてください。
  • A列が1の場合に、B列とC列の値を入れ替えるVBAのコードを作成したいです。
  • クリックすることでセルの入れ替えができるボタンを作成する方法も教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

sub macro1()  dim h as range  dim x as variant  for each h in range("A1:A" & range("A65536").end(xlup).row)   if h = 1 then    x = h.offset(0, 1)    h.offset(0, 1) = h.offset(0, 2)    h.offset(0, 2) = x   end if  next end sub 参考: sub macro2()  dim h as range  for each h in range("A1:A" & range("A65536").end(xlup).row)   if h = 1 then    h.offset(0, 2).cut    h.offset(0, 1).insert shift:=xlshifttoright   end if  next end sub

miniminidog_001
質問者

お礼

回答ありがとうございます。 おかげさまで問題解決できました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

関数でも出来るのではないか。なぜVBAでやるのかな。勉強のためにやりタイのかな。 E,D列を列挿入 例データ A列   B列    C列    D列   E列 0 A B A B 1 C D D C 0 E F E F 1 G H H G 0 I J I J D2に =IF($A2=0,B2,C2) 下方向に式を複写。 E2に =IF($A2=0,C2,B2) 下方向に式を複写。 D,E列の値をだけを、B,C列に複写して、D,E列を抹消

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel IPアドレスを比較してセルを入替える

    以下のようなデータ   A列     B列 192.170.1.1 192.171.1.1 192.171.1.2 192.170.1.2 IPアドレスの第2オクテッドを比較し数値の小さいほうをが左にくるように VBAでクリック釦を作成したいのですがどのように記述すればよいでしょうか? 釦をクリックすると   A列     B列 192.170.1.1 192.171.1.1 192.170.1.2 192.171.1.2 のように該当のセルがA列・B列入れかえができる。 IPアドレスを取得する関数は ユーザー関数を使用してsplitn(範囲、第○オクテッド)で 第2オクテッドの数値は取得できます。 よろしくお願いします。

  • EXCEL VBA

    はじめまして。ExcelのVBAについて質問させて頂きます。 - A-B-C            1 0 あ        2 0 い        3 1 う           4 1 え           5 1 お   上記のようなデータに対して、A列の値が1の場合、B列の値をC列へコピー して、B列をゼロにする。A列の値が0の場合は、そのまま。 (結果) - A-B-C            1 0 あ        2 0 い        3 1 0  う           4 1 0 え           5 1 0 お   といったようにVBAを作成したいのですが、なにぶん初心者なもので、 どのように記述すればよいのかわかりません。 よろしくお願いいたします。

  • Excel 行列入れ替え

    行列入れ替えを行いたいのですが、良い方法はありますでしょうか? A列   B列   C列   D列   E列   F列   G列 111   222    あ    い    う    え 333   444    あ    い    う    え    お ↓ A列   B列   C列 111   222    あ 111   222    い 111   222    う 111   222    え 333   444    あ 333   444    い 333   444    う 333   444    え 333   444    お C列以降は内容により、フィールド数が異なります。 最終的にはA列ごとB列ごとに各値を含む割合を出したいと考えています。 ピボットテーブルで集計をしようと考えているのですが、横方向にデータが 入っていると上手く出来ませんでした。 もし、データの入れ替えをせず集計が出来れば、そういった方法も教えて 頂きたいです。 宜しくお願いいたします。

  • EXCEL 条件による重複セルの検出

    列A   列B   (列C) A2001   0    (*) A2001   0    (*) A2001   1    (*) A2001   1    (*) A2001   2 A2001   2 A2002   0 A2003   1    (*) A2003   1    (*) A2003   3 A2003   3 列A、Bに上記のようなデータが入力されている。 以下の条件でデータを抽出し、列Cに印(上の例では*)を付けたい。 1.列Aが重複しているならば、 2.重複しているデータの中で列Bを比較し、 3.列Bの中で最大の値ではないものに対して*を付ける。 このような処理を行いたいのですが、さっぱり分かりません。 関数でも、VBAでもどちらでもかまいません。 どうぞよろしくお願い致します。

  • エクセル関数をもちいてセルを検索するには?

    お世話になります。 早速ですが、以下のようなデータがあるとします。     A    B    C 1   1    100 2   0    200 3   1    10 4   1    20 5   0    30 6   0    300 7   0    10 8   1    30 9   0    5 10  0    10 A列には0か1が、B列にはランダムな数字が並んでいるとします。 これに対し、C列にはA列の0の数を数えて、仮に5個目のB列の値を返したいです。 C1ならA1から0の数を数えて5個目、つまりB9(300)の値を返したい。 C2ならA2から0の値を数えて5個目、同じくB9(300)の値、 C3ならC3から0の値を数えて5個目、つまりB10(10)の値を返したい。 最終的には5個めではなく、任意の数字にしたいのですが、 このような値を返すにはどのような関数をもちいたらよろしいでしょうか? COUNTIFやINDEXでできるのではと思いましたが、 カウント数が指定数を満足させる条件がわからず行き詰りました。 どうかご指導お願いいたします。

  • エクセル VBA 複雑な行列入れ替えコピー

    VBAを使って複雑な行と列を入れ替えをしたいのですが?どなたか伝授していただけませんでしょうか?    A    B    C 1 (1) 2 (2) 3 (3) 4 (1) 5 (2) 6 (3)  ・  ・  ・ 1,000行以上あります。 これを   A    B    C 1 (1)    (2)    (3) 2 (1)    (2)    (3) 3 (1)    (2)    (3)      ・      ・      ・ という風にしたのですが・・・・ お分かりになる方よろしくお願いします。

  • エクセル VBA ダブルクリックコピー

    A B C a1 a 1 b 2 c 3 B列とC列にデータが入っております。 ※行数は変動します。 ①A2にはB2&C2と数式を入力 ②A2を選択して十をダブルクリックでコピー しB列の値が入ってる最後の行までコピー。 ③ A2を選択して、ctr + shift → ↓コピー これをVBAで作成出来ますでしょうか?

  • EXCEL 空白セル削除 VBA使用せず

    EXCELで、以下のような表を作成しています。   A   B   C   D   E 1 あ  10 2 い  20 3 う  20 4 え  10 5 お  10 もし、B列の値が10なら、C列にA列の内容を次のように表示します。   A   B  C  D  E 1 あ  10  あ 2 い  20  え 3 う  20  お 4 え  10 5 お  10 上の例の場合、C列の2行目・3行目にはA列を反映させないということを VBA無しで行いたいのですが、関数だけで可能でしょうか? 式はいくら複雑になっても構いません。 ヒントになるようなことでも、自分でトライしてみますので、 お教えください。 宜しくお願いします。

  • エクセルVBAでセル選択

    エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!

  • 複数指定セル値と合致したセル値を返す

    A,B,C列に添付の値が入力されておりセルE2の値とF2~F7の値が両方一致したものがA,B列にあればC列の値をG列に順々に入力していきたいのですが。 どなたか関数が解る方、欲をいえばVBAコードが解る方ご教授願います。

このQ&Aのポイント
  • JUSTIO HL-L2375DWを使用している際に、片面印刷設定しても自動的に両面印刷になり、変更できずに困っています。
  • お使いの環境はWindows10で、無線LANで接続されています。
  • 電話回線の種類はIP電話です。
回答を見る

専門家に質問してみよう