• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロについて)

エクセルのマクロで日時が飛んだ箇所を空白にする方法とは?

okormazdの回答

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.4

#3です。 re = 2000   '最後のデータの行番号 として、とりあえず2000を指定しておいただけで、実際にはあなたのデータの最終行番号を指定しなければ、2000行しか処理しません。 A列の最後のデータまで空白がなく埋められているなら、最終行番号を自動的に取得するには、 re = .Cells(ri, 1).End(xlDown).Row とします。これを、「re = 2000」と入れ替えます。 また、大きい行数を処理するので、Dim文の「integer」を「long」に変えます。 「あなたのデータの仕様が違えば修正が必要かもしれません。」と書いてあります。コードが基本的に間違っていたわけではありませんよ。コードの例が示されたら、自分で状況に応じていくらかの修正ができるように、少しVBAを勉強しましょう。

fansasad
質問者

お礼

okormazd 様 何度もお手数おかけして申し訳ありませんでした。 おっしゃるとおりですね。 これを機会に少しは勉強したいと思います。 ありがとうございました。

関連するQ&A

  • エクセルについて

    下記のデータについての質問です。 A列に日付、B列に時間(1時~0時)そしてC列は空白か もしくは数字が入っているデータが10年分あります。 10年分ですので 24時間×365日×10年ですので87600行になります。 更に閏年分一回につきプラス24行になるはずなのですが 実際には途中何か所か日時が飛んでおり、またその部分が 空白になっておらず、詰まっているため行数が暦どおりより 少くなっております。 ここで質問なのですが 日時が飛んでいる個所を空白にして 行数を暦どおりにするにはどうすれば良いでしょうか? また、この時C列も一緒にずらせるようにしたいのですが どのようにすれば良いでしょうか? よろしくお願いいたします。 マクロでも良いので、どなたかご教授いただけませんでしょうか?

  • エクセル マクロ VBA

    エクセルのマクロについて質問です。 『集計』というブックの『集計開始』というシートに     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 コメント  空白     空白   3行目 空白   空白     空白 4行目 商品名  支店     個数  5行目 空白   空白     空白 6行目 空白   空白   コメント1 7行目 空白   空白     空白 8行目 空白   空白   コメント2 9行目以降    上記のデータ(見出しを除く)の繰り返し というデータが入っています。 B列の中に『AAA』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 C列の中に『B』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 (今は、手作業で編集→置換→検索する文字列の中に『B*』と入力し、 置換後の文字列を空白にしてすべて置換ということをやっています。)                            ABC列(データーの入っている行まで)の空白を含む行を一括削除し、 以下のような形にしたいのです。     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 商品名  支店     個数  3行目 商品名  支店     個数          ・         ・ このようにするマクロ文はどのようになりますでしょうか?

  • エクセルのマクロ(行を挿入し連番を振る)

    ボタンを押すと以下のことを実行するマクロを作成することはできますか? A列2行目から 書類a 書類b 書類c 書類d 書類e C列2行目から 5 3 2 4 3 と入っています。C列は各書類の枚数です。 ボタンを押すと書類aと書類bの間に4行空白行が挿入され、A列とC列は増やした4行にそれぞれ書類a、5がコピーされ、B列には2列目から6列目まで1.2.3.4.5と連番が振られる。 というマクロです。 B列C列で1/5 2/5 3/5 4/5 5/5 であるという表現がしたいのです。(/は入りません) 書類が1枚の場合はB列C列共に空白で1/1とは入りません。 C列に入る書類の枚数により行が挿入されその書類の枚数分の連番が振られるようなマクロが作りたいです。 毎日何百行も手作業で挿入しコピーし連番を振る作業をしています。 決まった行数を増やすとか上の行をコピーするマクロならわかるのですが、C列の値を見て挿入する行数を判断するようなマクロができるのかわかりません。 どなたか教えて頂けないでしょうか。

  • Excelのマクロについて教えて下さい-初心者です

    毎回、入手して検査するデータの行数は異なります(数千行)。 ある列(K列とする)は、日付がセットされているか、空白になっています。日付はこの形式です 2012/3/19。 この日付が、特定の日付より前(古い)場合、この行を削除したいのです。空白の行は残します。但し、特定の日付は、半年に1回更新されるので、定数(?)としてセットして使用出来る形が希望です。

  • エクセルマクロ、空白行(セル)の挿入

    データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。

  • エクセル、行数をカウントしたい。

    エクセル初心者です。 よろしくお願いいたします。 エクセルでこのような表を作っています。   A  B  C 1 10 15 2 20 3    10 4    15 5 10 6 10 10 7 8 この時、データの入っている行数をカウントしたいのです。 上の例では 「6」 です。 途中に空白の行はありません。 A列、B列にはどちらにも数字が入る場合と、どちらかにしか 入らない場合があります。 なので COUNT は使えないですよね? 今まではデータを入力後、下の空白の行を削除し、C列で COUNTBLANK として求めていたのですが、表の長さ(行数)が一定でないため、 体裁が悪くなってしまっていました。 希望としては。 最終行のC列に「終了」などと入れると、その文字列を判別 してくれて、それより上の行数をカウントしてくれる。 または 例えば OR を使って、A列B列どちらかにデータがある 場合のみ、カウントしてくれる。 こんなワガママなことができたら、と思っております。 補足が必要ならばいたします。 それと、遅くなるかもしれませんが、お礼は必ずさせていただきます。

  • エクセルのマクロでデータを左につめていく

    お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと  A列からF列にランダムにデータが入力されています。  このデータをA列、B列、C列と、左に詰め表示させたいです。  ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。  ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前)  -  : 空白セル  *** : データが入力されているセル     A列   B列  C列  D列  E列   F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 - -   -  *** *** *** 4行目 ***  -   -   -   -   -  5行目 *** *** -   *** -   -  イメージ(処理後)     A列  B列  C列   D列  E列  F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 *** *** *** - -   - 4行目 ***  -   -   -   -   -  5行目 *** *** *** -   -  -

  • Excelのマクロで質問します

    A列には氏名が入っています。 B列には性別が入っています。(例えば男なら○印,女なら空白) そこで,B列に○があれば男の列(C列)に,空白なら女の列(D列)に それぞれ上から(1行目から)氏名を入力していくようにしたいです。 (つまり,C1は男の1番,C2は男の2番・・・・・,D1は女の1番,D2は女の2番・・・という感じです。) このようなマクロについて,どなたか教えてください。 ちなみに1000行ぐらいまでデータがあるとします。

  • エクセルで数字が入力されている行の数を出したい

    エクセル2000を使用しています。 数百行くらいのデータがあります。 C列は数字の1、2、9、が入力、又は空白となっています。 最下行3行にそれぞれ1、2、9が入っている行の数を出したいの ですが、どのようにすれば良いのでしょうか? 1、2、9の和を求めているのでは無く、入力されている行数を 出したいのです。

  • とほほのエクセルマクロ

    以下の文の[-1899]の部分を可変型にしたいのですが。 どなたかご存知有りませんか? ActiveCell.FormulaR1C1 = "=COUNTIF(R[-1899]C:R[-1]C,""いっしょだよ"")" ==================================== マクロの説明です。 ==================================== エクセルマクロでsheet1にデータを入力していって、 sheet1のD列内に同一のコードがないかをチェックするために sheet1のコピーを作成してD列でソートしてから D列の1行目=2行目ならK列に”いっしょだよ”という メッセージを出すようにIF文を書きこんでいきます。 最後にこの”いっしょだよ”というメッセージが何件あったかを見たいので、 一番下の行+1行目に ActiveCell.FormulaR1C1 = "=COUNTIF(R[-1899]C:R[-1]C,""いっしょだよ"")" という文を入れたのですがこれだと自分が居る一つ上のセルから 1899上までしか行かないのですが、毎回データを入力して行数は増えていってしまいます。 どのような、文にしたらよいのか教えてください。 お願いいたします。