我需要在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
答案 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