先日(No.130709とNo.130958)、エクセルで作成した見積表の数量を入力した行のみを印刷したいとお聞きした者です。その際は、多くの方に回答を頂き、誠にありがとうございました。おかげさまで完成間近ですが、もう1つ問題が出てきてしまいました。宜しくお願いします。
商品によっては、行を追加し手で入力しなくてはならないものがあるので、あらかじめ空白行(金額列には0が入っています)を設けておきたいのですが、そうすると抽出した際、空白行も一緒に抽出されてしまいます。空白行がある場合は、下記の構文のやり方では無理なのでしょうか?空白行も非表示にしたいのです。
Private Sub CommandButton1_Click()
Dim i As Integer
i=2
Do Until i=-1
If Worksheets("Sheet1").Cells(i,1).Value=""Then
i=-1
Else
If Worksheets("Sheet1").Cells(i,6).Text=0Or_
Worksheets("Sheet1").Cells(i,6).Text=""Then
Worksheets("Sheet1").Rows(i).Select
Selection.EntireRow.Hidden=True
End If
i=i+1
End If
Loop
End Sub
Private Sub CommandButton2_Click()
Worksheets("Sheet1").Cells.Select
Selection.Rows.Hidden=False
End Sub
以上です。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちわ!
なぜそのような動きをするかというと
一番上の行から順番に1行づつチェック
をして、項目欄が空白になった時点で
処理を終了するロジックになっているからです。
もしあらかじめ空白行を使用するのであれば
ロジックの上から5行目
If Worksheets("Sheet1").Cells(i,1).Value=""Then
を
If Worksheets("Sheet1").Cells(i,6).Value=""Then
に変更すれば大丈夫だと思います。
(6列目が金額欄なんですよね?)
または、
行を追加するボタンを作成してはどうでしょうか?
行削除もついでに作っておくと便利かもしれません。
ボタンの作成の仕方は前回と同じです。
1.ツールバーの
三角定規と定規と鉛筆のボタンを押して
編集モードにして下さい。
2.「行追加」「行削除」
をそれぞれボタン追加してください。
(前回追加したボタンの横がいいと思います。)
3.「行追加」ボタンをダブルクリックして
下さい。
そうすると下記の記述が出ると思います。
Private Sub CommandButton3_Click()
End Sub
その間に下記を追加します。
Private Sub CommandButton3_Click()
Dim i As Integer
Selection.EntireRow.Insert
i = ActiveCell.Row
Cells((i - 1), 6).Copy Destination:=Cells(i, 6)
End Sub
上記の処理の意味はアクティブ行
に行を挿入し、6列目を金額と仮定
して、1行前の列の金額欄をコピー
し、挿入した行の金額欄に貼り付ける
事によって、合計算出計算のみコピー
している。
3.「行削除」ボタンをダブルクリックして
下さい。
そうすると下記の記述が出ると思います。
Private Sub CommandButton4_Click()
End Sub
その間に下記を追加します。
Private Sub CommandButton4_Click()
Selection.EntireRow.Delete
End Sub
上記の処理はアクティブ行
削除している。
以上で行追加、行削除ボタン完成です。
ただし、合計の直前と見出し行の直下に
行を追加すると、合計の金額のSUMの
範囲外となってしまうおそれがあるので
気をつけましょう!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数シートのボタンに同一の動...
-
Excelシート上のマクロを登録し...
-
ユーザーフォームをショートカ...
-
Excel ラジオボタンのリセット...
-
Accessのフォームでタブの色
-
フレーム内のオプションボタン...
-
入力済み、選択したセルに連動...
-
HPの画像の更新
-
VBA 図の削除
-
エクセルの画面にユーザーフォ...
-
2重フィルター
-
日報の休日ボタン(トグルボタ...
-
Excel ボタンが小さくなる
-
UPS警告音を止めたい
-
Word2000: 文字列の一部の背景...
-
【Excel VBA】マクロボタンを表...
-
excel 2000でのマクロボタン作成で
-
もしかして
-
エクセルで、日付を入力すると...
-
「ご処理進めて頂きますようお...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
UPS警告音を止めたい
-
複数シートのボタンに同一の動...
-
ユーザーフォームをショートカ...
-
Excelで、ボタンにコメントをつ...
-
マクロで作ったボタンのサイズ...
-
フォームコントロールから作っ...
-
Excel ラジオボタンのリセット...
-
【Excel VBA】マクロボタンを表...
-
excel スクロールしても常にボ...
-
エクセルで、オプションボタン...
-
EXCELの塗りつぶしのボタ...
-
EXCELのマクロが 実行時エラー5...
-
Accessのフォームでタブの色
-
マクロ初心者です。 msgboxのre...
-
入力済み、選択したセルに連動...
-
Access VBAでボタンの背景色を...
-
エクセルでマクロボタンを押す...
-
エクセルVBA フォームへ動...
おすすめ情報