• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:空欄セルに順番に値を入力したいのですが)

Excelのセルに値を順番に入力する方法

このQ&Aのポイント
  • Excelのセルに順番に値を入力する方法を教えてください。
  • A列に値があり、B列には一部空欄セルがあります。B列の空欄セルに、上から順番にA列の値を入力したいです。
  • 現在の記述ではうまくいかず、正しいコードがわかりません。良い方法を教えてください。

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

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

sub macro1()  dim h as range  dim i, j, n, z  z = application.countif(range("A:A"), ">0")  do  ’A列を上から順に調査   do    i = i + 1   loop until cells(i, "A")>0  ’B列の空白を上から順に調査   do    j = j + 1   loop until cells(j, "B") = ""  ’転記   cells(j, "B") = cells(i, "A")   n = n + 1  loop until n = z end sub

konekos
質問者

お礼

回答頂き有難うございます。 すみません、もう一つ教えて頂きたいのですが、変数hをrange で宣言しているのは、どのような意味なのでしょうか? 教えて頂けないでしょうか?

その他の回答 (4)

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

例データ と結果(元は*のB列行が空白) A B 23 5 21 23 * 26 8 3 21 * 6 7 1 26 * 2 3 3 3 * 4 5 ーー Sub test01() Dim cl As Range d = Range("a65536").End(xlUp).Row 'A列最終行 i = 2 Range("b2:B" & d).Select Selection.SpecialCells(xlCellTypeBlanks).Select '空白セル選択 For Each cl In Selection cl.Value = Cells(i, "A") '順にA列セルの上行からの値をセット i = i + 1 Next End Sub

konekos
質問者

お礼

imogasi様 有難うございます。とても参考になりました。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.4

あー、なるほど。 すみません、勘違いしてました…。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

C列にA列をコピーして貼り付け→B列をコピー→C列に貼り付け時、「形式を選択して貼り付け」の「空白セルを無視する」にチェックして貼り付け で如何でしょうか?

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

関数を使って対応することできます。 例えば作業列を使ってC1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B1<>"",B1,IF(ROW(A1)>COUNTIF(A:A,">0")+COUNT(B:B),"",INDEX(A:A,COUNTIF(B$1:B1,"")))) C列にお求めの表示がされますがB列に表示したい場合にはC列を選択してコピーし、その後に形式を選択して貼り付けて「値」にチェックをして貼り付けます。 その後にC列を削除します。

konekos
質問者

お礼

KURUMITO様 有難うございます。確かに関数でもできました。 有難うございます。

関連するQ&A