マクロを使った文字のコピーと削除

このQ&Aのポイント
  • Excelのマクロを使って、A1セルにB1セルの内容をコピーし、B1セルに何も入力されていない場合はA1セルを空白にする方法を教えてください。
  • マクロを使って、B1セルの内容をA1セルにコピーする方法を教えてください。ただし、A1セルに何も入力されていない場合のみ動作するようにしてください。
  • Excelのマクロを使って、A1セルとB1セルを連携させる方法を教えてください。A1セルにはB1セルの内容をコピーし、B1セルが空白の場合はA1セルを空白にするようにしたいです。
回答を見る
  • ベストアンサー

空白なら入力、入力されていたら削除のマクロ

A1セルに、B1セルに入力した文字をコピーするマクロを作りたいです。 ただし、常にB1セルに入力した文字をコピーするのではなく、A1セルに何も 入力されていなかった時だけ文字をコピーして、逆に何か入力されていた時はそれを 認識して、A1セルを空白にするマクロです。マクロの記録でうまくいかなかったので、お知恵を貸していただければ幸いです。。 (例) A1セルは空白 B1セルに あいうえお とかかれているとする    マクロボタンを押すと、 A1セルにあいうえお と入力される    もう一度同じマクロボタンを押すと、A1セルが空白になる(あいうえおが削除される)    更にもう一度同じマクロボタンを押すとA1セルにあいうえお と入力・    これの繰り返しです。

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

  • ベストアンサー
回答No.2

Sub macro() If Range("A1").Value <> "" Then Range("A1").ClearContents Else Range("A1").Value = Range("B1").Value End If End Sub これを適当なオートシェイプに登録します.

runpet
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

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

sub macro1()  if range("A1") = "" then  ’空白ならコピーする   range("A1").value = range("B1").value  else  ’そうでないならクリアする   range("A1").clearcontents  end if end sub みたいな。

runpet
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

  • マクロ 空白セルへの文字入力

    A列が空白となるまでB列のとこどころに数字が入力されていて空白のセルへ0を入力する。 というマクロがどうしてもできないのですが、ご教示お願いします。

  • 空白を埋めるマクロについて

    マクロで教えて下さい! A B C D    ...... 数量 名前 種類 購入者  .... 1  2  あ  A 2    く 3 5 DD 4          まま 5    さ 6          ぱぱ と右は何十項目・下は何千行と項目が続くデータがあります。 この空白に上の文字をコピーし埋めて行くマクロを作成するにはどうしたら良いでしょうか? ただし以下の条件があります。 (1)D列の様に1行目が空白のセルは4行目の様に文字が入っている所までは空白のまま (2)A列はそのファイルにより何行目までデータが入っているかは不明 A B C D     数量 名前 種類 購入者   1  2  あ  A       2  2  く A 3 5 く DD 4  5  く DD   まま 5  5  さ DD まま 6  5  さ DD   ぱぱ 宜しくお願い致します。

  • エクセルのマクロ(指定列の空白にひとつ上の文字を入力し続ける)

    エクセルのマクロを教えてください。 指定列の空白にひとつ上の文字を入力し続けるマクロです。 A列指定 A2からスタートし、1000行くらいあるデータ 空白があった場合ひとつ上の文字を入力 空白は、2行連続・3行連続となることもあるが大抵は1行空白 この場合、空白セルの上で一番近いデータをコピーする A列のデータは、文字・数字・日付と様々 1000行ある場合もあるが、それ以下の場合もあるので、10行空白が続いたらマクロが自動的に終了 エクセル2003使用 よろしくお願いいたします。

  • EXCEL 指定範囲内の空白セルに特定数だけ文字を入力するマクロ教えてください。 

    マクロ初心者です。 指定範囲内の空白セルに特定数だけ文字を入力するマクロを考えていますが、まったくわかりません。どなたか教えていただけますか? 詳細内容 (1)下記のような空白セルを含む範囲内        A B C D       1  A君       2       3A君  B君       4  C君  (2)別セルでA君に1追加するとA君が表示上追加される        A B C D       1  A君  A君←どこでも空白セルならいい       2       3A君  B君       4  C君 

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • Excelマクロ 入力の有無を判定するマクロを組みたい

    はじめまして。 マクロの初心者です。 エクセルマクロを利用して、セルに何か入力(文字でも数値でも)がある場合の判定をしたいのですが、うまくいきません。 具体的には、 ・(A1セルが空白で)B1からC10セル(10個のセル)のいずれかのセルに何か入力された場合 → D1セルに"○"を出力。 ・(A1セルが空白で)B1からC10セル(10個のセル)のいずれかのセルに何も入力がない場合 → D1セルは"(空白)"。 ・但し、大前提として、A1セルに"×"が入力されている場合 → D1セルに"×"を出力。 (B1からC10セル(10個のセル)のいずれかのセルに何か入力されている場合でも、A1セルが"×"ならばD1セルは"×"とする) としたうえで、同様の判定を ・A11セルおよびB11からC20を判定しD11セルに結果を出力、 ・A21セルおよびB21からC30を判定しD21セルに結果を出力、 … と繰り返して、A100セルまで実行させたいと考えています。 (D1、D11、D21、D31、D41、D51、D61、D71、D81、D91の10個のセルに"○"、"×"、"(空白)"の結果を出力したいです) 過去の投稿や解説書などを参照にしているのですが、なにぶん本当に初心者のためうまくいきません、、、 どなたかお力添えをお願いします。

  • エクセルで連番をマクロで

    こんにちは いつもお世話になっています。 Windows7、エクセル2010で教えてください。  B3から仮にB100まで文字列があるとします、空白セルはありません。 この状態でA3からA100まで1から始まる連番をマクロで実行したいのです。 実際はB列のデータの最終行は不定です。つまり、B列にデータがなくなるまで(空白セルになるまで)A列に連番をつけたいのです。現在はA3,A4に1,2と入力し、オートフィルで該当セルを選択し「予測」で連番をつけています。 マクロ記録ではB列にデータがなくなる判断ができなくて作れません。 この作業が頻繁にあるものですからマクロができれば助かります。 よろしくお願いいたします。

  • excel 空白のセルがある行を削除するマクロ

    A列に、みかん りんご バナナ 肉 などと入力されており、 B1に=if(countif(A1,"*みかん*")+countif(A1,"*りんご*")+countif(A1,"*バナナ*"),"fruit","") という感じで、fruit か 空白 を返す関数が入力されており、オートフィルでB列に数式をコピーするマクロを実行します。 その次に、B列で空白のセルがある場合、その行を削除するというマクロを下記のように入力しましたが、削除されません。 Dim lastRow As Long Dim i As Long lastRow =Range("B"&Rows.count).End(xlup).Row For i =lastRow To 5 Step -1 If Cells(i,"B").Value="" Then Rows(i).Delete XlShiftUp End If Next i 間違いをどなたか教えてください。 ちなみに、B列が関数では無く、ただの文字列の場合("fruit")ではマクロが実行できました。 関数の値からマクロを実行することは不可能なのでしょうか? 解答、宜しくお願い致します。

  • Excelで、入力文字の後に自動で空白を入れるには

    セルに任意の文字を入力し、その後ろに自動で空白を入れる方法を探しています。 具体的には、次のような内容です。 1 セル内は必ず全角10文字にする。 2 A1に「北海道」と入れたとき、B1は「北海道       」と空白が7文字分入る。 3 A2に「青森」と入れたとき、B1は「青森        」と空白が8文字分入る。 としたいのです。 可能であればBのセルを使わず、Aに入力しEnterを押したらセル内が変わると言うのが理想ですが… 何かいい方法があれば教えて下さい。

  • テキストボックスが空白の時、セルに入力"しない"

    ユーザーフォームにて、テキストボックスに入力されている文字や数字をユーザーフォーム内の"入力開始ボタン"を押したら、セル(A1)に入力されるように設定しています。 しかし、別のセル(C1)に A1 × B1 = X   という式が入力されており、テキストボックスが空白の状態で入力開始ボタンを押したら、セル(A1)に文字が打ち込まれたとカウントするのか、正しく計算できなくなります(A1を選択してデリートするとXに正しく0と表示されます)。 そこで、テキストボックスに文字か数字が打ち込まれている時のみセル(A1)に入力されるようにしたいのですが、回答宜しくお願いします。

専門家に質問してみよう