2016-09-02 2 views
1

私は以下を持っています。空の行を非表示にしてCHECKBOXで戻して、必要に応じて行を追加できるようにしています。私はそれらを削除したくない。 「コントロール」セクションのリボンの「開発」タブで、オン空の行を非表示にするにはチェックボックスが必要です

Sub Sample() 
    Dim i As Long 
    Dim DelRange As Range 

    On Error GoTo Whoa 

    Application.ScreenUpdating = False 

    For i = 1 To 250 
     If Application.WorksheetFunction.CountA(Range("A" & i & ":" & "L" & i)) = 0 Then 
      If DelRange Is Nothing Then 
       Set DelRange = Rows(i) 
      Else 
       Set DelRange = Union(DelRange, Rows(i)) 
      End If 
     End If 
    Next i 

    If Not DelRange Is Nothing Then DelRange.Delete shift:=xlUp 
LetsContinue: 
    Application.ScreenUpdating = True 

    Exit Sub 
Whoa: 
    MsgBox Err.Description 
    Resume LetsContinue 
End Sub 

答えて

0
  1. 、「挿入」ドロップダウンをクリックし、「ActiveXコントロール」セクション(ない1のチェックボックスコントロールをクリックしてください「フォームコントロール」セクションで)

  2. チェックボックスが

  3. 表示したいフォーム上をクリックして、チェックボックスをダブルクリックし、自動生成さCheckBox1_Click方法で(これは最初のチェックボックスであると仮定するとフォームに)、yoに電話をかけるウル方法:あなたのSample方法でSample

  4. 、「コントロール」セクションで、リボンに「開発」タブで

  5. 下の置き換えを実行するには、オフにするには、「デザインモード」ボタンをクリックしてくださいデザインモードは、(そうでない場合、あなたのチェックボックスをチェックし、オフにすることはできません)

これを置き換えます

これにより

、「シート1」は、ワークシートの名前で、「CheckBox1を」はあなたのチェックボックスの名前です:

If Not DelRange Is Nothing Then DelRange.Rows.Hidden = Sheets("Sheet1").CheckBox1.Value 
+0

は、それはまだそれを削除しかし、助けをあなたにMJHに感謝。チェックボックスをオンにすると、すべての空の行が非表示になり、非表示の場合は非表示の行が表示されなくなります。 –

+0

私が提案した変更を行っていない場合は、削除されていない場合は非表示になります。あなたのシート上の行番号を注意深く見て、隠れた行に対応する欠落した数字が表示されます。行が削除された場合、欠落した行番号はありません。 – MJH

+0

あなたは正しいです、私はそれが保存されていない申し訳ありません。それは機能しましたが、私はそれを非表示にして、チェックボックスをつけたままにしておく必要があります。 –

関連する問題