Excel 从单元格中简单删除行?
您好,我正在尝试删除B列中成员值超过1000的所有行。 我一步一步地尝试了这一点,并尝试首先从B细胞中去除所有不必要的数据,只留下一行成员。 我注意到有5行,成员行是第6行。我搜索了几个小时,仍然不知道如何删除前5行。你能帮我一个忙吗?我相信这很容易,但我找不到 我有这个:Excel 从单元格中简单删除行?,excel,excel-formula,excel-2010,excel-2007,vba,Excel,Excel Formula,Excel 2010,Excel 2007,Vba,您好,我正在尝试删除B列中成员值超过1000的所有行。 我一步一步地尝试了这一点,并尝试首先从B细胞中去除所有不必要的数据,只留下一行成员。 我注意到有5行,成员行是第6行。我搜索了几个小时,仍然不知道如何删除前5行。你能帮我一个忙吗?我相信这很容易,但我找不到 我有这个: Option Explicit Sub Delete5TextLines() Dim c As Range, s Application.ScreenUpdating = False For Each c In Range(
Option Explicit
Sub Delete5TextLines()
Dim c As Range, s
Application.ScreenUpdating = False
For Each c In Range("B1", Range("B" & Rows.Count).End(xlUp))
**********
Next c
Application.ScreenUpdating = True
End Sub
这是.csv文件:
每当使用循环删除整行时,应从范围的底部开始,然后向上循环 编辑#1: 假设一个单元内至少有五条线,且这些线由Chr(10)分隔,则这将删除前五条线:
Sub marine()
ary = Split(ActiveCell.Value, Chr(10))
t = ""
For i = 5 To UBound(ary)
t = t & Chr(10) & ary(i)
Next i
If Len(t) > 1 Then
t = Mid(t, 2)
Else
t = ""
End If
ActiveCell.Value = t
End Sub
每当使用循环删除整行时,应从范围的底部开始,向上循环 编辑#1: 假设一个单元内至少有五条线,且这些线由Chr(10)分隔,则这将删除前五条线:
Sub marine()
ary = Split(ActiveCell.Value, Chr(10))
t = ""
For i = 5 To UBound(ary)
t = t & Chr(10) & ary(i)
Next i
If Len(t) > 1 Then
t = Mid(t, 2)
Else
t = ""
End If
ActiveCell.Value = t
End Sub
好吧,这不是很优雅,但我想到的第一件事,就是这样 使用此公式删除大部分文本中的最后一个单词(“成员”) 假设您的文本为A1:
=LEFT(A1,FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)
这个公式得到文本的最后一个单词,在本例中是成员数(因为我们删除了“成员”一词)
假设你把上面的公式放在A2中
=IF(ISERR(FIND(" ",A2)),"",RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))))
现在您应该已经提取了成员数。如果此值为0,请执行以下操作:
如果(CellWithMemberCount).值小于5000,则
此工作簿。工作表(1)。行(i)。删除
如果结束
i=i-1
环
端接头
(希望)这样就可以了。好吧,这不是很优雅,但我想到的第一件事,就是这样 使用此公式删除大部分文本中的最后一个单词(“成员”) 假设您的文本为A1:
=LEFT(A1,FIND("|",SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))-1)
这个公式得到文本的最后一个单词,在本例中是成员数(因为我们删除了“成员”一词)
假设你把上面的公式放在A2中
=IF(ISERR(FIND(" ",A2)),"",RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))))
现在,您应该已经提取了成员数。如果此值为0,请执行以下操作
如果(CellWithMemberCount).值小于5000,则
此工作簿。工作表(1)。行(i)。删除
如果结束
i=i-1
环
端接头
(希望)这样就可以了。下载您的示例时,什么都没有发生。@DaveExcel您好。我知道它不起作用。您下载的文件只包含需要处理的原始数据。我告诉您,我无法下载您的文件,当我单击“下载”时,什么都不会发生。@DaveExcel,我很抱歉。我把它弄脏了@在那里。对不起,我对这件事还不熟悉。你能给我举个例子吗?我下载你的例子时什么也没发生。@DaveExcel你好。我知道它不起作用。您下载的文件只包含需要处理的原始数据。我告诉您,我无法下载您的文件,当我单击“下载”时,什么都不会发生。@DaveExcel,我很抱歉。我把它弄脏了@在那里。对不起,我对这件事还不熟悉。你能给我举个例子吗?我发现:它删除了一列的第二行。我只是不知道如何调整它以删除第一行并运行5次这应该删除第一行,但它对我不起作用-你到底想删除什么?吵架?如第25行所示,还是要删除单元格中的文本行?如果你想删除前5行(!),你可以写(不那么优雅)工作表(1)。行(1)。删除5次。很抱歉理解错误。如上图所示,我想删除单元格B中的前5行,以便单元格B只包含“9877成员”。在“9877成员”之前有5行,但它们是长的。如果在记事本或升华中打开.csv,您将看到前5行。我只想把它们去掉:)还有最后一个问题:“XXX成员”是否总是在单元格BY中文本的末尾?我发现:它删除了列的第二行。我只是不知道如何调整它以删除第一行并运行5次这应该删除第一行,但它对我不起作用-你到底想删除什么?吵架?如第25行所示,还是要删除单元格中的文本行?如果你想删除前5行(!),你可以写(不那么优雅)工作表(1)。行(1)。删除5次。很抱歉理解错误。如上图所示,我想删除单元格B中的前5行,以便单元格B只包含“9877成员”。在“9877成员”之前有5行,但它们是长的。如果在记事本或升华中打开.csv,您将看到前5行。我只想把它们去掉:)还有最后一个问题:“XXX成员”是否总是放在单元格中文本的最后?谢谢,但我需要删除单元格中的前5行:)@AlexStanese查看我的编辑#1非常感谢!!!它工作得很好。你能告诉我如何在所有B细胞的循环中实现这一点吗?我试过这样做:但它似乎进入了一个内部循环,因为excel正在进行修改。@AlexStanese我会在几个小时后给你回复。@Tom嘿,我成功了!!我做了一个while单元格不是空的,插入了你的代码。现在它工作得很好。非常感谢你!你救了我一天!!谢谢,但我需要删除单元格中的前5行:)@AlexStanese请看我的编辑#1非常感谢!!!它工作得很好。你能告诉我如何在所有B细胞的循环中实现这一点吗?我试过这样做:但它似乎进入了一个内部循环,因为excel正在进行修改。@AlexStanese我会在几个小时后给你回复。@Tom嘿,我成功了!!我做了一个while单元格不是空的,插入了你的代码。现在它工作得很好。非常感谢你!你救了我一天!!