• ベストアンサー

マクロで空白セルに貼り付ける

エクセルで表を作っていますが、マクロを使って、空白セルの左隣の値をコピーし、空白セルに貼り付けをしたいのですが、うまくいきませんでしたので、教えてください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

処理例を書いてい見ました。 空白セルを左のセルに置き換えたい範囲(連続範囲、飛び離れた範囲)を選択して実行します。 シートのコードウインドウに貼り付けます。 ご参考に。 Sub Okikae()   Dim rg As Range              'セル   For Each rg In Selection          '選択範囲での処理     If rg.Column <> 1 Then         '1列目でなかったら       If rg.Value = "" Then       '空白だったら         rg.Value = rg.Offset(0, -1)  '左のセルと同じにする       End If     End If   Next End Sub

chobi101
質問者

お礼

nishi6さん とても分かりやすい回答有難うございました。早速試してみます。

その他の回答 (1)

  • urk
  • ベストアンサー率33% (18/53)
回答No.1

例えばこんな感じでいいのでしょうか? 空白セルにカーソルがあるとして sub temp()  if activecell.value="" then   activecell.value=activecell.offset(0,-1).value  end if end sub

chobi101
質問者

お礼

urkさん 有難うございました。

関連するQ&A

  • 空白セルをデータと認識してしまいます

    Excel2003を使用しています。 「マクロの記録」を使って、あるリストを自動作成 しようとしているのですが、うまくいきません。 A,B2つの列に分かれたデータを連結させるため、 C列に「CONCATENATE」関数を入れて適当な行まで コピーします。(それ以上はデータが入らないだろうと思われる100行目ぐらいまで) その後C列をコピーし、「値貼付け」をして 関数を値に変えます。 そうすると、たとえば実際には20行目までデータが 入っていたとすると、21行目~100行目までは 空白になりますよね? でも、どうもその空白行もデータとみなされている ようなんです…。 Range("C2").End(xlDown).Row で下端セルを探そうとすると、100行目に なってしまいますし、「ジャンプ」で空白セルを 探しても、同じ結果になります。 空白セルを選んで一度「Delete」を押すと 正しく「空白」と認識するようなのですが…。 「実際にデータの入っているセルとそうでないセル」 を自動で判別させたいので、 簡単に「何も入っていないセルを”空白”と正しく 認識させる方法」はありませんでしょうか?

  • セルの空白について

    質問失礼します。 エクセルで数式などを使い表示しているデータをコピーして。 条件付貼り付けで数値だけを取り出しました。 ここまではよかったのですが、新しく数値だけを取り出したデータに、新規に数式をあてはめようとしたら、空白のセルを認識せずエラーがでてしまいます。 適応させたい数式の関係する空白のセルに、マウスをあわせて、一度Deleteやバックスペースなどを押すと、空白セルとして認識してくれます。 現在の数式で認識しない空白セルを、数式で認識できる空白セルに置き換える方法などあるでしょうか?または、認識しない空白セルを認識させる方法はあるでしょうか? データの提出期限もせまっており焦っております。 どなたか教えてください。よろしくお願いします。

  • エクセルで空白セル”” と未入力セルの違い

    関数で セルA1 に=if(B1=0,"","入力済") としました。 セルの選択を素早くするためにショートカットキー「Ctrl+↓」を 利用しています。 通常の未入力空白セルは上記のショートカットで飛ばされて選択 されません。 これに対して上記関数で ""  として入力されたものを コピーして値だけを貼り付けたとしても 上記ショートカットキーで飛ばされず選択されてしまいます。 見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。) 未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。 また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに 戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。 おわかりの方お教えください。

  • エクセル隣のセルと違う数字の場合は色付け、空白はそのままにしたいのです。

    条件付書式でやってみたんですが、「セルの値が」「次の値に等しくない」「=(左隣のセル)」でやって、違う数字の場合はうまく色付になるんですが、空白の場合も色が付いてしまいます。その左隣のセルに数式を入れてるからかなと思い、数式を消すと、色は付きませんでした。 左隣のセルに数式を入れたまま、そのセルも右のセルも空白の場合、色を付けたくないんですが、どうすればいいでしょうか。

  • [マクロ]値に変換しても、空白のセルがカウントされてしまいます。

    式が入っているセルを値に変換し、値が入ってるセルだけをカウントさせたいのですが、もともと式が入っていた空白になっているセルもカウントしてしまいます。 値の変換の仕方が間違っているのでしょうか? それともカウントの仕方が良くないのでしょうか。 値に変換するのは自動記録のマクロを作成しました。 カウントは、COUNTA関数をVBAで使用しています。 空白のセルをカウントさせない方法を教えてください。 マクロ・VBA初心者なので、値に変換するVBAも合わせて教えていただけると勉強になります。 よろしくお願いいたします。

  • 空白セルとして認識しない

    win2000, excel2000です。 例えば、C1に=IF(A1="","",B1)という式が入っています。 この式がC1000まで入っています。 C1~C1000には空白行が散在します。 C列のセルが空白の行をマクロでなく削除したいので C1~C1000を選択肢、「コピー→形式を選択→値」で C1~C1000にコピーします。 C1~C1000を選択し、 「ジャンプ→セルの選択→空白セル」 を実行しても「見当たりません」と返されます。 オートフィルターで空白以外のセルを実行すると、 空白と認識されるようですが、 ジャンプではだめなのでしょうか? オートフィルターで印刷には支障がないのですが、 このbookをメールで送ったりするので、 できれば空白行をマクロでなく削除した後で 送りたいのですが。

  • マクロ 貼り付け先のセルを変更するには?

    エクセル2000です。 sheetAのセルC3~C10をコピーしsheetBのセルD3~10に貼り付けるマクロを使用しています。 sheetBの貼り付け先の表を変更し、セルE3~10に変更したいです。 この場合、VBAの貼り付け先のD3~10をE3~10に書き換えるしか方法はないでしょうか? 同様の貼り付け件数が多く、一つ一つ作業をするのが非常に手間で、一括で行える方法を探しています。 よろしくお願いします。

  • マクロ記述を教えてください。

    エクセル2010を使用しています。貼り付けのオプションで 「値のみ」しか選択できないマクロ記述を教えてください。 セル上で右クリックし「コピー」選択後、貼り付け先セルで右クリックした時、「値のみ」しか選択できないファイル設定をしたいと思います。 要するに起動後、すべての「貼り付け」の作業が「値のみ」に限定したいと思います。よろしくお願いします。

  • 計算する時、隣のセルが空白の場合

    エクセルの行において、セルA10から左隣のセルA9の値を減算した数字をセルB10に表示します。 そこで質問ですが、セルに数字が入力されている場合 =A10-A9 ですが、A10に数字があり、A9、A8に数字が無く、A7に数字がある場合の計算式を教えて下さい。 「=A10-A9の計算式で、但しA9が空白の場合左隣のA8、但しA8が空白の場合左隣のA7セルから減算」、と言ったような式です。 宜しくお願い致します。

  • エクセルのマクロについて

    N4の列の一番下のセルを選択しコピー 左隣のセルに貼り付けをしたいのですが N列の数は変動(N4~N64)します。 この動作をマクロで動かしたいのですが わからないので教えてください 宜しくお願いします。

専門家に質問してみよう