VBA Excel在字符出现后选择内容

VBA Excel在字符出现后选择内容,excel,vba,Excel,Vba,我想在行中出现字符后选择工作表的内容 到目前为止,我一直在使用的代码选择偏移量之后的所有内容 Sub Selection () Dim Target_Start As Range, Target_End As Range Dim n as long Set Target_Start = work.Cells.Find("X", SearchOrder:=xlByColumns).Offset(1) Set Target_End = Target_Start.En

我想在行中出现字符后选择工作表的内容

到目前为止,我一直在使用的代码选择偏移量之后的所有内容

 Sub Selection ()
 Dim Target_Start As Range, Target_End As Range

 Dim n as long

 Set Target_Start = work.Cells.Find("X", SearchOrder:=xlByColumns).Offset(1)
 Set Target_End = Target_Start.End(xlDown).End(xlToRight)


 work.Range(Target_Start, Target_End).Select
 'Selection.EntireRow.Clear


 End Sub

我应该在代码中修改什么?

在单元格后选择使用的范围
  • 如果要允许小写“
    X
    ”,则将
    True
    替换为
    False
    MatchCase
  • 请注意,此解决方案将在您的图像中包括第15行,该行可能仅被格式化(边框,无值),因为我们使用的是
    已用范围
    。如果你不喜欢,你将不得不用另一种方式来定义范围
选项显式
Sub selectAfter()
Const sString As String=“X”
用work.UsedRange
变暗rg As范围
设置rg=.Find(sString、.Cells(.Rows.Count、.Columns.Count)_
xlFormulas,xlWhole,xlByRows,True)
如果不是,那么rg什么都不是
按长度变暗:变暗=rg.行-.行+1
设置rg=.Resize(.Rows.Count-Offs).Offset(Offs)
rg.选择
如果结束
以
端接头

太棒了!谢谢然而,你能告诉我,为什么我不能在这里看到像Clearcontents这样的东西?恐怕我对代码理解不够。我不知道你想清除内容。不要使用
rg。选择
rg.ClearContents
或另一种
Clear
。完美!谢谢