• ベストアンサー

EXELについて質問があります。ABCDの縦列にデータが入っているとし

EXELについて質問があります。ABCDの縦列にデータが入っているとします。 ところどころに空白がある個所に0000001から順番にその空白の箇所(ABCD) の箇所に連続次は0000002と簡単に埋めていくプログラミング方法はをおしえて ください。

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

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

例えばA1セルからD列でA列の終わりの行に相当するセル範囲に空白があるとして、それらにA列からB列…と番号を付けるとしたら次のようなマクロになるでしょう。 Sub 空白セルへの番号入力() Dim RowPos As Integer Dim ColPos As Integer Dim n As Integer Application.ScreenUpdating = False n = 0 arow = Range("A65536").End(xlUp).Row For ColPos = 1 To 4 For RowPos = 1 To arow If Cells(RowPos, ColPos) = "" Then Cells(RowPos, ColPos) = n + 1 Cells(RowPos, ColPos).NumberFormat = "0000000" n = n + 1 End If Next Next Application.ScreenUpdating = True End Sub

その他の回答 (3)

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

初心者にはFor Next も思いつきやすくてよいが、エクセルのメニューを良く知っておれば、マクロの記録を使って 編集ージャンプーセル選択ボタンー空白セル、をおこなって、マクロの記録を記録する。作られたコードに対し、下記*の行を加えると出来る。 質問の場合は範囲やFormatの引数を適当に変えてください。 例データ 1 0001 3 0002 3 3 2 3 3 2 0003 3 4 3 0004 0001等が当初は空白とすると、実行後は上記のようになる。 Sub Macro1() Dim cl As Range '* n = 1 '* Range("A1:C5").Select Selection.SpecialCells(xlCellTypeBlanks).Select For Each cl In Selection '* cl = "'" & Format(n, "0000") '* n = n + 1 '* Next ': End Sub

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

一例です。 Sub test01() Dim myRng As Range, myC As Range Dim i As Long, n As Long With ActiveSheet Set myRng = Intersect(.Columns("A:D"), .UsedRange).Columns For i = 1 To myRng.Columns.Count n = 0 For Each myC In myRng.Item(i).Cells If myC = "" Then n = n + 1 myC.Value = "'" & CStr(Format(n, "0000000")) End If Next myC Next i End With End Sub

  • mt35610
  • ベストアンサー率19% (10/51)
回答No.1

エクセルはきちんとバージョンを書きましょう! 処理によってはOS側に依存する部分があるので OSとエクセルのバージョンは必須です! 2003までのバージョンだと・・ Sub Test() Dim i As Long Dim k As Integer Dim c As Long c = 1 For k = 1 To 4 For i = 1 To 65536 If Cells(i, k).Value = "" Then Cells(i, k).Value = c Cells(i, k).NumberFormatLocal = "0000000" c = c + 1 End If Next Next End Sub

関連するQ&A

  • EXELの質問です。例えば、EXELのシートABCDの列にAの列は、番

    EXELの質問です。例えば、EXELのシートABCDの列にAの列は、番号が順不同で縦列に数字のデータが入っているとします。Bのシートには、タイトルデータが縦に入っているとします。Cの列には、Aの列と違ったデータが縦列に数字のデータが入っているとします。Dには、項目のデータが縦に入っているとします。以上のデータをCのデータを順に並び変えたとします。ここで初歩的なご質問ですが、Cだけでなく他のA B D のデータも一緒にCとの結びつけたデータを並び変える方法は、どのようにすればいいのでしょうか? 教えてください。

  • exelのデータ照合

    exelで作成したデーターで、以前作成したデーターと照合、差異を行いたいのですが、以前作成したexel表と今回作成したexel表の2つの表を突合せが出き、相違箇所を示す関数か、他に簡単に出来る方法は無いでしょうか。 それぞれの表には、縦A列に品名・縦B列に型番・c列に数量・・・・と 記入されておりそれぞれの表の品名、型番は、同じような品名、型番が 記入されてます。 方法をご存知の方、至急、お知らせ下さい。 宜しくお願いします。

  • Exelでデータ数を減らす方法&カレイダグラフ

    テキスト形式のデータがあります。 それをExelなどで開こうとすると、 データ数が多いため、全部開くことが出来ません。 テキストデータの数を見たところ、約10万個データがありました。 こういった場合、読み込ませることは可能なのでしょうか? あるいは適当に抽出してあげて、Exelで読み込ませることが出来る 6万5千個以内のデータ数にすることは可能でしょうか? (データは不連続ではなく、連続に近いものです) 最終的には「カレイダグラフ」というソフトで、読み込ませたいのですが・・・。 こちらのソフト上でも操作できるのであれば、教えてください。 些細な事でもかまいませんので、何か知ってる事があれば教えてください。 よろしくお願いします。

  • EXELから連続データをCSVで保存したいのですが、形では、ゼロが消え

    EXELから連続データをCSVで保存したいのですが、形では、ゼロが消えてしまいます。 EXELデータを保存するときにCSVで保存するとういう作業だけでいいのでしょうか?

  • Exelデーターなどの秘匿性

    WindowsVistaでExel2007を使っています。これのデーターや文章を他人に見られないように秘匿することはできますか。できるならば、その方法を教えてください。

  • EXELのデータをPhotoshopに移すと線が

    EXELのデータをコピーしてPhotoshopに貼り付けると罫線を引いてなくても薄く罫線が出てしまいます。データだけを貼り付ける方法あったら教えてください。

  • EXELで複数行を1行にまとめたい

    EXELで100行x200列にデータが詰まっています。 これをどのような順番でもいいのですが、 1行(20000セル)にまとめることができますか? よろしくお願いします。

  • EXELについての質問です。

    EXELについての質問です。 「ブック内のシート1に日付がばらばらの状態で打ち込まれた元データがあり、  シート2に、このデータから月別のデータを日付順に並び替えた状態にして反映させたい。」 (例を画像添付で表示しています。) オートフィルターやピポットテーブルを使ってみましたが上手くいきません。 また、VBAについての知識はほとんど持ち合わせて無いのですが、 今回の場合はどうも必要なのでは、と考えたりもします。 いずれにしても、自分の力ではどうしようも出来ない状態ですので、 どうか教えて下さい。

  • Exelでの、連続データ作成について

    Exelの、ひとつのセル内で、 aaa-120bbb10 aaa-121bbb10 aaa-122bbb10 というふうに、真中の数値データのみを、加算していく方法を教えてください。

  • exelのグループ化(?)について

    windows XPを使用しています。 exel2003の表作成における並べ替えについてお教えください。 うまく説明が出来ないので伝わりにくいかも知れませんが 現在、(A~Iまで)9列、(1~5まで)5行を1つのタイトルとしてデータを記入しています。 (セル5以下、5行ごとに別タイトルのデータを20ヶ程作成しております。) 各データ、1行目はA~Iまで何かしらのデータは入っているのですが、それ以下の行には、データが入るセルと入らないセルとがあります。 このように虫食いのようなデータ表の場合、そのまま『並べかえ』を行うと、空白セルが下(もしくは上)に追いやられ、データが上詰め(下詰め)となってしまいます。 (A~Iまで)9列、(1~5まで)5行を1つのタイトルとしてみなし、例えばタイトル名を基準に(その他空白セル等はそのままに)並べ替えることは出来ないのでしょうか? わかりにくい質問で大変恐縮です。

専門家に質問してみよう