• ベストアンサー

エクセルで空白セルを選んで文字を入力できますか?

こんばんは、説明が難しいので添付させて頂きました。 緑字の候補が上の赤字の入っていないセルに候補順に入るようにする方法はありませんでしょうか? 目的は、B2からM5を全部埋めたいのですが、赤字は別のところから自動入力されています。空白をうめるために緑字の候補があるので、空白があれば緑字を入れたいです。 マクロはよく分からないのですが、そんなことができる関数はありませんでしょうか? よろしくお願い致します!!!!!

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

Sub tes2()   Dim b As Range      For Each b In Range("A2:M5").SpecialCells(xlCellTypeBlanks)     b.Offset(5).Copy b   Next End Sub 候補順?

TAM3TAM7
質問者

お礼

お返事が遅くなりすみません。 なんとか少し変更し、思い通りのものになりました! ありがとうございました!!!

その他の回答 (3)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

A1:L4(赤字データセル範囲)または1:4で行選択し 緑データ上に、空白を無視にチェックを入れた状態で【形式を選択して貼り付け】を実行。 この動作をマクロの記録で記録すれば。

TAM3TAM7
質問者

お礼

ありがとうございます。 いい案ですね。貼り付けに空白を無視する、といのがあるのを知りませんでした。 ただ、候補順に入らないので、その部分を検討します。

  • OKERAUMI
  • ベストアンサー率42% (6/14)
回答No.2

赤字を入力するのをシート名『入力』とした場合であって、 赤字を入力するのが添付図通りのセル位置だとした場合。 セルB2に下記の数式を入力。 =IF(入力!B2="",INDEX($B$7:$M$10,COUNTIF(入力!B$2:B2,""),B$1),入力!B2) これをB2~M5にコピーで如何でしょうか?

TAM3TAM7
質問者

お礼

ありがとうございました。 なぜだかうまくいかず、0になってしまう状況でした。 ただ、色もそのままコピーさせたいので、考えてみます。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

Sub Tes1 () Dim rng As Range Set rng = Range("A2:M5").SpecialCells(xlCellTypeBlanks) rng.Formula = "=" & rng(1).Offset(5).Address(0, 0) Range("A2:M5").Value = Range("A2:M5").Value End Sub

TAM3TAM7
質問者

お礼

ありがとうございました。 とてもスマートにいくんですが、色をそのままコピーしたいのと、候補順に入れたい、というのがありますので、だめでした。 でもたった数行でこれができるのは驚きでした。

関連するQ&A