VBA从工作表选择中取消选择行和列

时间:2020-07-28 20:54:37

标签: excel vba

我需要在Excel中清理一堆.csv数据报告。

我一直试图编写一个可以选择所有内容的宏,然后从选择中取消选择一些特定的行和列。

我不需要代码,因为我还有另一个宏可以删除所有内容。

令人高兴的是,我删除的数据是一致的,因此我可以硬编码需要再见的东西。

我有一些C#知识,但没有VBA知识,尤其是对MS Excel。我找到了一些我一直试图适应的代码,但没有让它做任何事情或只是出错了。此时,我正在考虑让它执行一行,然后找出如何删除其他行。

我能获得一些关于如何选择所有内容减去行或列的提示吗?

    Sub Macro1()
'
' Macro1 Macro
' report format
'

    Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim OutRng As Range
' xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
' Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set DeleteRng = Application.Rows(7)
For Each rng In InputRng
    If Application.Intersect(rng, DeleteRng) Is Nothing Then
        If OutRng Is Nothing Then
            Set OutRng = rng
        Else
            Set OutRng = Application.Union(OutRng, rng)
        End If
    End If
Next
OutRng.Select

'
End Sub

2 个答案:

答案 0 :(得分:0)

所以我感到很傻,因为我完全忽略了Excel可以尝试自动记录宏的情况。我旋转了一下,它做了我需要做的。

这是自动生成的代码,可以产生我需要的最终结果。它仅突出显示所需的单元格。从那里,我可以使用键盘快捷键来格式化工作表。

我绝对不知道它做了什么,但是在这里。

   Sub work()
'
' work Macro
'

'
    Range("M3:XFD1048576,F3:J1048576,C3:C1048576").Select
    Range("C3").Activate
End Sub

答案 1 :(得分:-1)

子宏() 昏暗的wb作为工作簿 设置wb = ThisWorkbook '将B(2)列视为B列 wb.Worksheets(“ Sheet1”)。Columns(2).EntireColumn.Delete