• ベストアンサー

空白セルを選んで、指定した順に貼り付けるコード

文字列を空白セルに指定した優先順位の順で、貼り付けるコードについてお聞きします。 A1をコピーしそれをB1に貼り付け。 もし、貼り付け先のセルのB1が空白でなければB2、B3、B4、B5のように順位を指定して貼り付けをしたいと思います。 どのような方法があるのでしょうか。 ご回答宜しくお願いします。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

単純な方法だと i = 0 Do i = i + 1 If Range("B" & i) = "" Then Range("B" & i).Value = Range("A1").Value Exit Do End If Loop Until False とかいかがでしょう

di6351
質問者

お礼

ありがとうございます。 B1が空いていなければ、1行ずつ下にずれて、貼り付けることが出来ました。 i = 0の0や("c" & i)のc変えることで、最初に指定するセルも変更することが出来るのですね。 そのように初めの指定セルを変えたりと、いろいろと応用してみます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 色々な方法があると思いますが、一例です。 Sub Sample1() With Range("A1") If Range("B1") = "" Then .Copy Range("B1") Else .Copy Range("B1").End(xlDown).Offset(1) End If End With End Sub こんな感じではどうでしょうか?m(_ _)m

di6351
質問者

お礼

ありがとうございます。 If、Then、Elseを使って、条件分岐を繰り返しながら貼り付けることが出来るのですね。 いろいろとアレンジして使ってみようと思います。

関連するQ&A

  • リンク貼り付けで空白セルが"0"表示される

    Excel2000を使用しています。 リンク貼り付けをしました。 貼り付け元のセルが空白のとき、貼り付け先には"0"と表示されてしまいます。 空白で表示するようにしたいのですが。。。 セルの形式を文字列にしてもダメでした。 どなたかご存知の方がいたら教えてください。 よろしくお願いします。

  • セル内文字を切り取りその列の空白セルに貼付け

    B列3行目から添付のようにセル内にカンマを含む文字がありカンマで区切った文字ごとに切り取り矢印右のように同B列の次の空白行に順に貼り付けたく、その際カンマは削除したいのですが行数が多くてできればVBAコードがお分かりなる方宜しくお願いします。 環境はwindows7 office2013です。

  • エクセル 行数指定し一つのセルに改行込で入れる

    日本語が下手でもうしわけないです。 エクセルのマクロにて、行数指定指定したセルを別セルに 改行を含めて入れたいのです。 具体的なやりたいこととしては、 A列に不定期間隔で不定形の文字列が入力されていて、(間は空白) その文字列から文字列の行数を読み、 B列の同じ行数分のセルをひとまとまりとし、 別シートのA1に改行込みで入れる。 次のまとまりはA2に次はA3に… といった動作をさせたいです。 例. 1.A1,A6,A9に文字列があるとする。間は空白 文字列間の行数を読む (1)A1-A5 (2)A6-A8 (3)A9-最終行 2.A列で取得した行数と同じ行数をB列で指定 (1)B1-B5 (2)B6-B8 (3)B9-最終行 3.B列で指定したセルをひとまとまりとして 別シートのA1から順に改行込みで入れる (1)シート2のA1 B1(改行) B2(改行) B3(改行) B4(改行) B5(改行) (2)シート2のA2 B6(改行) B7(改行) B8(改行) (3)シート2のA3 B9(改行) ・ ・ 最終行 ####### マクロでの実現を考えているのですが、 マクロ初心者でさっぱりわかりません。 どなたか、マクロでの記述例を教えて頂けないでしょうか。 また、関数で実現できるのであれば、そちらも教えて頂きたいです。 宜しくお願いします。

  • Excel 空白セルのコピペについて

    http://imgur.com/5e8TsP1 上記図のように、シート1のB列に各文字を入力しています。 そして、A列にはもしB列に文字が入力されていたらID代わりの数値を表示する、という式を入力してあります。 次に、シート1のA列、B列をコピーして、シート2に数値としてペーストをします。 すると、A列は空白のはずが、xldown操作をすると元のセルで式が入力されていたものまで選んでしまい、真の空白セルとして認識してくれません。 そこで、このような例の場合、どうコピーペースト、または選択をすれば偽物の空白 セルを生み出さないように出来るでしょうか? 実際に使用するデータは項目名が多く存在し、マクロですべてのセルを選択→新規ブックを作成してそこにペースト、という処理を行っています。 この時に偽物の空白セルが出ると、データベースに読みこむ際に不都合が生じますので、何とか改善を図りたいです。 VBA、関数、Excel上のテクニックのいずれでも構いませんので、どうかご教授下さい。 よろしくお願いいたします。

  • 見た目空白セルの対処について

    エクセル上でA列に関数が入っていて、A列を値複写でB列にコピーしたケースについて B列上で空白のセルを選択しようとして「編集」→「ジャンプ」→「セルの選択」 →「空白のセル」の操作を行うと、該当なしとなってしまいます 空白部分のセル上で「Del」キーを操作したあと再度「編集」→「ジャンプ」→「セルの選択」→「空白のセル」の操作をしたところそのセルが選択されました ので、見た目は空白でも実際は空白でない状態になっていると思われます B列上の見た目の空白セルが部分部分にあるため、1つ1つ「Del」キー操作をするには大変な労力がいります。 簡単にB列上の見た目空白セルを選択する方法はないでしょうか

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

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

  • 空白セルの削除

    A列に得意先、B列に金額が入力されています B列の8行目と13行目が空白です この空白セルを対象にその行を削除する関数はありますか 要するに金額欄の空白セルを読み取りその行全体を削除する関数が知りたいのです よろしくご指導ください

  • エクセルで入力した文字列を他のセルにも自動的に入力できるようにしたいです。

    エクセルで文字列を入力した場合、指定したセルにも同じ文字列が自動的に入力されるようにしたいと思っています。 調べたところ貼り付け時に形式を選択して貼り付ける「リンク貼り付け」というのがあるので試してみたんですが、 貼り付け先の空白のセルに強制的に0が入力されてしまいます。 リンク貼り付けを保持したまま空白セルを空白セルのままにすることはできないでしょうか。 よろしくお願いいたします。

  • マクロを使って最終行を取得して、範囲内の空白セルに

    マクロを使って最終行を取得して、範囲内の空白セルに指定の文字列を表示させたいです。 お世話になります。 要件としてはタイトルの通りです。 Excel2013を利用しています。 A列を参照して最終行を取得し、 B列の1~最終行までの空白セルに対して「未入力」という文字列を入力したいです。 この場合、考え方はいろいろあるのでしょうが どのようにコードを組めば良いでしょうか? 自分では、まったく書けていないというのが正直なところです。 そこで御手数ですが、ご協力をお願いいたします。

  • エクセル 並べ替え 数字の文字列→漢字の文字列→空白セル の順にしたいです。

    いつも教えていただきありがとうございます。 【状況】 同じ列に以下のような文字列が並んでいます。 未回答 空白セル 20090208 20090210 未定 空白セル 20090101 【実現したいこと】 この時、 数字昇順(実際には日付) ↓ 文字列(未定、未回答) ↓ 空白セル の順に並べ替えをしたいです。 状況補足 ・全ての文字列はVLOOKUP関数の結果として表示されています。 ・この操作をマクロに組み込むことを考えています。 ・空白セルは目立たなければ他の記号などに置き換えても構いません。 上記内容可能でしょうか? お教えいただけましたら幸いです。 何卒よろしくお願いいたします。

専門家に質問してみよう