2016-12-06 7 views
0

私はVBAマクロで助けが必要です。私は隠しテーブルの行だけでなく、複数のテーブルの範囲をマージするテーブルのヘッダーを削除しようとしています。彼らは別のマクロとして働くが、私は一緒にマクロを置くとき、私は実行時エラー「1004」を得る:Excel VBA隠しテーブル行を削除する

Sub delHR() 

    ' Hide table header rows 
    Rows("14:15").EntireRow.Hidden = True 
    Rows("26:27").EntireRow.Hidden = True 

    ' Delete unselected, i.e. hidden table rows 
    Dim hR As Long 
    Dim lastRow 

    lastRow = 50 
    For hR = lastRow To 1 Step -1 
    If Rows(hR).Hidden = True Then Rows(hR).EntireRow.Delete 
    Next 

End Sub 

私は(これは私だけの範囲にテーブルを変換しようとしている:失敗したRangeクラスのメソッドを削除します。テーブルから使用する行を選択する必要がありますが、未選択の行は表示されません。ありがとう。

答えて

2

そのVBAが知っているので、対処行を指定します。

(アルター 'ActiveWorkbook' と、あなたのニーズにワークシート)

Sub delHR() 
With ActiveWorkbook.Worksheets("Temp") 
    ' Hide table header rows 
    .Rows("14:15").EntireRow.Hidden = True 
    .Rows("26:27").EntireRow.Hidden = True 

    ' Delete unselected, i.e. hidden table rows 
    Dim hR As Long 
    Dim lastRow 

    lastRow = 50 
    For hR = lastRow To 1 Step -1 
    If .Rows(hR).Hidden = True Then .Rows(hR).EntireRow.Delete 
    Next 
End With 
End Sub 
+0

を働いたこと、感謝@Bernd Stoeckellを。しかし、同じランタイムエラーが発生します。 – NoooSmyth

+0

ああ、それは私のために働く。あなたはシート上にどんな形やコントロールを持っていますか? (細胞移動/サイズ変更時に問題を引き起こす可能性があります)、保護については、最初に保護を解除する必要がありますか? –

+0

保護はありませんが、シートの上部にボタンサイズのコントロールがあります。私はコントロールなしで新鮮なwosksheetで試してみたが、私はまだエラーが発生します。これは、 '.Rows(hR).Hidden = Trueの場合は.Rows(hR).EntireRow.Delete'という問題があります。 – NoooSmyth

関連する問題