• ベストアンサー

エクセルで名簿を下のように作成します。マクロを使って番号5番から10番

エクセルで名簿を下のように作成します。マクロを使って番号5番から10番まで(ここは自由に入力)と入力して、表から5番から10番の番号と、名前を白い字にして見えなくしてしまいたいのですがどのようにすれば いいでしょうか。固定した番号と名前を削除するのはできるのですが、削除開始と削除終了の番号を変えてのやり方がわかりません。ご教授お願いします。

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

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

こんばんは! フライング気味のような感がありますけど・・・ 表がどのような配置か判らないので勝手に↓のように2列の単純な表でのVBAにしてみました。 一例です。 単にNOと名前の文字色を表示しない場合のVBAは Sub test1() Dim i, j, k, L As Long k = InputBox("開始番号を入力してください。") L = InputBox("終了番号を入力してください。") For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row For j = k To L If Cells(i, 1) = j Then Range(Cells(i, 1), Cells(i, 2)).Font.Color = xlNone End If Next j Next i End Sub 削除の件も出ていたので余計なお世話かもしれませんが・・・ 削除のコードもやってみました。 Sub test2() Dim i, j, k, L As Long k = InputBox("開始番号を入力してください。") L = InputBox("終了番号を入力してください。") For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 For j = k To L If Cells(i, 1) = j Then Rows(i).Delete (xlUp) End If Next j Next i End Sub 今回の場合はあくまで連続している数値を処理する方法です。 もし飛び飛びのNOでの処理をしたいのであれば他の方法を考える必要があると思います。 この程度ですが、 参考にならなかったらごめんなさいね。m(__)m

関連するQ&A