按列名查找列并保留该列的特定值并删除所有其他数据,包括空白

沙兹兹兹兹兹兹兹兹

我是 VBA 宏的新手。我正在尝试创建一个宏来查找列名“加载类型”对列值 LCL 应用过滤器,并仅使用 LCL 保留数据行并删除其余所有数据行。示例宏应该像

  1. 名为“负载类型”的搜索列
  2. 使用 LCL 选择/过滤列值
  3. 删除 LCL 以外的所有其他数据 如果列名为“加载类型”,值 <> LCL,则删除整行。

我希望宏只保留名为“加载类型”列中值为 LCL 的数据,并删除其余所有数据,即使有空白,如果加载类型为空白,它也应该删除整行。

原始 Excel

N 列标题是负载类型,具有多个值 LCL、Blanks、BB。我希望宏只保留数据和带有列“加载类型”值 LCL 的腐蚀行,并删除其余所有数据。

想要出去

所需的输出在上图中。

我的编码图像我的代码

我尝试过这样的编码,但它说变量未定义我很困惑我是否解决了这个问题。

Sub SortLCL_Concat()

Dim wb As Workbook
Dim sRng As Range
Dim fRng As Range
Dim cel As Range
Dim tRow As Long
Dim fCol As Long

Set wb = ThisWorkbook

Set fRng = ActiveWorkbook.Worksheets("Main")

fCol = fRng.Column

tRow = ActiveWorkbook.Worksheets("Main").Cells(Rows.Count, 1).End(xlUp).Row

With ActiveWorkbook.Worksheets("Main")

For tRow = .Rows.Count To 2 Step -1
If .Cells(tRow, fCol).Value <> LCL Then .Rows(tRow).Delete
Next tRow
End With

End Sub

我希望宏只保留名为“加载类型”列中值为 LCL 的数据,并删除其余所有数据,即使有空白,如果加载类型为空白,它也应该删除整行。

VBasic2008

删除数据行使用AutoFilter

Option Explicit

Sub SortLCL_Concat()

    Const wsName As String = "Main"
    Const FilterColumnTitle As String = "Load Type"
    Const FilterCriteria As String = "<>LCL"
    
    Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
    Dim ws As Worksheet: Set ws = wb.Worksheets(wsName)
    If ws.FilterMode Then ws.ShowAllData
    
    Dim rg As Range: Set rg = ws.Range("A1").CurrentRegion
    Dim fCol As Long: fCol = Application.Match(FilterColumnTitle, rg.Rows(1), 0)
    Dim drg As Range: Set drg = rg.Resize(rg.Rows.Count - 1).Offset(1)
    
    rg.AutoFilter fCol, FilterCriteria
    
    Dim vdrg As Range
    On Error Resume Next
        Set vdrg = drg.SpecialCells(xlCellTypeVisible)
    On Error GoTo 0
    ws.AutoFilterMode = False
    
    If vdrg Is Nothing Then Exit Sub
    
    vdrg.Delete xlShiftUp

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将特定值保留在数据框中并删除所有其他值

保留工作表的特定列-删除所有其他列

如果此列中的所有值都是特定值,则从数据框中删除该列

熊猫数据框查找存在于其他列的所有可能值的行

熊猫按三列分组,但保留所有其他列

如何合并具有相同值的两行,但在 Excel 中保留所有其他列数据?

僅保留特定列的所有行中的字母 - 刪除所有其他字符

获取特定列的所有可能组合,同时保留其他列

按列名称分组->该列中的特定值

基于列过滤熊猫数据框:如果值是该列,则保留所有行

如果其他列具有特定值,则需要该列

将某些列保留在pandas DataFrame中,删除其他所有内容

将某些列保留在pandas DataFrame中,删除其他所有内容

dplyr :: select-在新数据帧末尾(或开始或中间)包括所有其他列

熊猫:查找其中特定列不是NA但所有其他列都是的行

按列分组并从熊猫数据框中的其他列中选择特定值

如何使用 Group By,但保留列中的所有其他值(在 mysqli 中)

添加具有该行为True或其他特定值的列名称的新列

按列的最新值以及其他谓词查找

将所有值str列数据框与其他数据框str列匹配

在保留所有其他列的同时旋转列

如何根据其他列的值查找特定值的均值

如何分组重复值但保留数据框的其他列

根据优先级将值保留在特定列中,并删除每一行的其他值

Dataframe - 从字典列(按行)中查找所有值的总和,然后为该总和创建新列

在Pandas中查找列名,该列名在另一列的行中包含特定值

Excel:修剪特定字符处的数据,而保留其他没有该字符的数据

当其他列具有特定值时查找groupby的计数

根据其他列值删除数据框的值