• ベストアンサー

エクセルについて質問です。

a列1から10行の中で空欄があったらその行を非表示にするマクロを教えていただけないでしょうか。よろしくお願いします。

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

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

こんにちは! 一例です。 オーソドックスに・・・ Sub Sample1() Dim i As Long For i = 1 To 10 If Cells(i, "A") = "" Then Rows(i).Hidden = True End If Next i End Sub ※ 再表示する必要もあると思いますので、 ↓は再表示するときのコードです。 Sub 再表示() ActiveSheet.Rows.Hidden = False End Sub こんな感じではどうでしょうか?m(_ _)m

yoshimitsu525
質問者

お礼

回答ありがとうございます。丁寧にありがとうございます。

その他の回答 (2)

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

sub macro1()  dim r as long  for r = 1 to 10   rows(r).hidden = cells(r, "A") = ""  next r end sub みたいな。 #空欄では無かったら行を再表示します

yoshimitsu525
質問者

お礼

回答ありがとうございます。こんな方法もあるんですね。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

Sub ボタン1_Click() For i = 1 To 10 If Range("A" & i).Value = "" Then Rows(i).EntireRow.Hidden = True Next End Sub では如何でしょうか。

yoshimitsu525
質問者

お礼

回答ありがとうございます。助かりました。

関連するQ&A

  • エクセルでマクロの作成

    a列の1行目が『No』の項目名以下の行が空欄になっています。 b列に『あ』があれば同じ行のa列を空白にして、次のb行が空欄であれば同じ行のa列に1の数字を、b列の空白行に対しa列には連続番号が入るようにしたいのですが、マクロがどうしてもうまくできません。 どなたか、初心者向けに解りやすい解説と実際のマクロを教えていただけませんか? 初心者でうまく説明できてないかもしれませんがよろしくお願いします。

  • エクセルでの質問

    A列にリスト(1行目から10行目)があり、B列の1~10行目までに 1か空欄が入っているとします(1は6個だとします)。 B列で1が入っているリスト6個のA列のリストを上から順々に C列に出すようにするには、C列の1行目から10行目まではなんて 式を入れればよいですか?

  •  エクセルについて質問です。

     エクセルについて質問です。 『同じ日付に同じ名前があった場合、その名前の人の売上合計から10%引きたい』    初めて質問させて頂きます。関数をあまり知らないので、いろいろ検索したのですが、 どうしてもわかりません。教えて頂きたく存じます。宜しくお願い致します。 A列~Z列まで日付や売上や内容などが書かれた表があります。 同じ人が同じ日に同じものを売り上げても、一行にまとめず、複数行に書きます。   そこで、A列に入った日付を参照し、同じ日付に同じ名前(E列)があった場合、 K列かJ列(人によって違うのです)の売上を足して、その10%をU列に表示したい のですが、そのようなことは可能でしょうか? A列      E列   J列   K列    U列 ―――――――――――――――――――――――――――――――――――――――― 2010/01/18  田中  10000   空欄  ―――――――――――――――――――――――――――――――――――――――― 2010/01/18  佐藤   空欄    10000 ―――――――――――――――――――――――――――――――――――――――― 2010/01/18  田中   10000   空欄   2000←これを出したい。 ―――――――――――――――――――――――――――――――――――――――― 2010/01/18  佐藤  空欄    10000    2000←これを出したい。 ―――――――――――――――――――――――――――――――――――――――― 2010/01/18  斉藤  20000  空欄   空欄←ひとつしか売上が無いので10%は出さなくて良い。 ――――――――――――――――――――――――――――――――――――――――  わかりづらくても申し訳ありません。 どなたかお力を貸してください。          

  • エクセルで質問です

    いつもすいませんが教えて下さい。 例えば A列の4行目~16行目に空白と数値がランダムにはいっています。 これをB列の2行目から空白を除いて、数値のみを順番に並び替えるには、マクロが必要なのでしょうか? 、必要ならマクロを教えてください。 できればマクロなしが希望ですが。 よろしくお願い致します。

  • エクセルの並び替えについての質問です。

    エクセルの並び替えですが、例えば列の並び替えで2列(仮にA列・B列)に数値は入れてあり、A列を基準に昇順する場合2003ではその並べ替えをしたい範囲を指定して、「データ」→「並べ替え」→範囲の先頭行をデータにチェックを入れて、最優先されるキーを列Aにして、昇順にチェックを入を入れれば、A列基準で並び替えが完了しましたが、2007ではではその並べ替えをしたい範囲を指定して、「並べ替え」→最優先されるキーを選択すると列A・列Bの選択ではなく、A・B列の1行目の数値の選択となり、それで並び替えると1行目はそのままで、2行目からの並び替えになってしまいます。また1行目を数値のない空欄セルにしておいて1行目から上記作業をすれば、優先されるキーは列A・列Bの選択肢が出ますが、もしその表が1行目が空欄で無い場合はどうするのでしょう?また、2003では並び替えの作業を『繰り返し』で別の表も同じく並び替えの作業が出来ますが、2007では上記の1行目空欄セルにしておいてから並び替えをして『繰り返し』の作業は出来ません。 どの様にすれば、『繰り返し』の作業も出来るのでしょうか?

  • エクセルデータの並べ替えに関して

    エクセルデータの並べ替えに関して A列からH列まで数値が入っていて、それが8,000行くらいあります。(毎回変動します。) A1からH8000くらいのセルに値が入っています。 エクセルを縦長に使用しているので、このまま印刷をすると印刷面の右側半分以上が空白に なってしまいます。 マクロを利用して、これらの値を96行ごとに2列分けたいと思っていますが、どうやったら 良いか、教えていただけないでしょうか。 (マクロ実行前)--------------  A B C D E F G H 1 1 2 3 4 5 6 7 8  2 2 3 4 5 6 7 8 9 3 3 4 5 6 7 8 9 10 4 4 5 6 7 8 9 10 11 ・・・・・・ ---------------------------- のように下方向に数字が並んでいる場合、マクロを実行したら 次のようにしたいと思っています。 (マクロ実行後)--------------  A B C D E F G H (I) J K L M N O P Q 1 1 2 3 4 5 6 7 8(1行空き)97 98 99 100 101 102 103 104 2 2 3 4 5 6 7 8 9(1行空き)98 99 100 101 102 103 104 105 3 3 4 5 6 7 8 9 10(1行空き)99 100 101 102 103 104 105 4 4 5 6 7 8 9 10 11(1行空き)100 101 102 103 104 105 106 ・・・ 96 96 97 98 99 100 101 102 103(1行空き)192 193 194 195 196 197 198 199 97 193 194 195 196 197 198 199 200(1行空き)289 290 291 292 293 294 295 296 ・・・・・・ ---------------------------- (1)A1からH96までを切り取って、J1に貼り付ける。 (2)「(1)」で切り取って出来た空欄を削除して上方向にシフトする。 (3)A97からH192までを切り取って、J97に貼り付ける。 (4)「(2)」で切り取って出来た空欄を削除して上方向にシフトする。 といった操作を「切り取って出来た空欄を削除して上方向にシフトする。」という操作を しようとしたら上方向にシフトするデータがなくなるところまで続けたいと 思っています。

  • エクセルの並べ替えについて質問です。

    エクセルの並べ替えについて質問です。 行/列   A      B    C      D 1    商品コード  単価  商品コード 単価 2     100      50    102      70 3     101      60    100      55 4     103      65    104      65 5                   101      65 と並んでいるデータを 行/列   A      B    C      D 1    商品コード  単価  商品コード 単価 2     100      50    100      55 3     101      60    101      65 4                   102      70 5     103      65 6     104      65 というように商品コードで並べ替えて、しかも対比する商品コードがない場合は空欄になる‥なんてことはマクロを使えば可能なんでしょうか? よろしくお願い致します。

  • エクセルについて質問です。

    a列 b列 1 りんご 100 2 ぶどう 150 3 いちご 100 4 ぶどう 120 5 いちご 120 6 ぶどう 130 というデータがあったとしてもし、自セルより上の行に同じ名前が有った場合いその中で一番上のセルのB列の数字をもってくるという関数もしくはマクロがあれば教えていただけないでしょうか。6行目のぶどうであればB列が150になるような感じです。よろしくお願いします。

  • エクセルで数字の下1桁を見て並び替える

    エクセルで下記の様な数字が並んでいます。 A列の下1桁の数字は上から順に増えていて、ある数字で1に戻りまた増えています。 その数字は毎回同じではなく、6までの場合もあれば10までの場合もあります。 下記の例では上から6行、次は4行、次は7行と下1桁の数字によってグループ分け出来ますよね? それで上から6行目までのB列の値(462~530)をコピーしてSheet2のA1から横方向に並べます。 その次は7行目から10行目までのB列の値(356~487)をコピーしてSheet2のA2から横方向に並べます。 その次も同じように並べます。 B列が空欄の場合もありますが、その場合はそのままSheet2にも空欄のセルを作ります。 1グループ全部のB列が空欄でもそのままSheet2に空欄の行を作ります。 この動作をマクロで出来る式を教えて頂けないでしょうか? A列          B列 0213240101     462 0213240102    387 0213240103    556 0213240104    585 0213240105    536 0213240106    530 0213240201    356 0213240202    632 0213240203    486 0213240204    487 0213240301    586 0213240302    670 0213240303    619 0213240304 0213240305    645 0213240306    487 0213240307    651 0213240401 0213240402 0213240403 0213240501    455 0213240502    623 0213240503    411 Sheet2 A列   B列    C列   D列    E列    F列   G列 462    387    556    585    536    530 356    632    486    487 586    670    619            645    487    651    455    623    411

  • エクセルの文章を分割して表示する

    行き詰ってしまたため、質問させていただきます。よろしくお願いします。 エクセルにある文章をセル内の文字数を制限して、それを超える場合は順次下のセルへ表示させたいのです。 文字の割り付けでセルの幅を調節すればできないことはないのですが、大量の文章となると1つ1つセルを挿入しながらの作業になり大変な労力なので違う方法があると助かります。 例)B列にある文章をA列の文字数を20文字までとして順次表示させたい。             B列 1行目 本日はお忙しい中お集まり頂きましてありがとうございます。 2行目 今回は○○議題について検討していきます。 3行目 (空欄) 4行目 報告からお願いします。 5行目 ××支店では、前月比・前年比ともに大きく上回り、純益は○○○○○円で前月より30%増となりました。 これを↓のように           A列 1行目 本日はお忙しい中お集まり頂きましてありが 2行目 とうございます。 3行目 今回は○○議題について検討していきます。 4行目 (改行) 5行目 報告からお願いします。 6行目 ××支店では、前月比・前年比ともに大きく 7行目 上回り、純益は○○○○○円で前月より30 8行目 %増となりました。 のように表示させたいのですが、どのような方法が適当でしょうか? いろいろとやってみて、マクロしかないのかな?と思っていますが、出来れば関数で、関数では難しいようでしたらマクロでの方法を教えていただければと思います。 どうぞ、よろしくお願いいたします。

専門家に質問してみよう