【发布时间】:2017-03-31 12:49:47
【问题描述】:
我想在找到特定文本后在 Excel 电子表格中插入一行是一列。文本出现N次,需要在最后一次出现后插入新行。
我所拥有的一个例子
ColumnA
TextA
TextA
TextA
TextA
TextB
TextB
TextB
TextB
TextC
TextC
TextC
TextC
每次执行宏时,我需要在上次出现TextA、TextB和TextC之后插入一个新行。
有没有办法找出给定文本在一列中出现的最大次数?这样就可以为所欲为。
编辑:
我试图计算每个文本出现的次数并将这个值分配给一个变量:
Sub count()
Dim A As Integer
A = Application.WorksheetFunction.CountIf(Range("B:B"), "TextA")
Dim B As Integer
B = Application.WorksheetFunction.CountIf(Range("B:B"), "TextB")
Dim C As Integer
C = Application.WorksheetFunction.CountIf(Range("B:B"), "TextC")
End Sub
之后我尝试插入一个新行
Sub insert_row ()
Rows("4+A:4+A").Select 'The number 4 is the first row `TextA` appears. So 4+A where I need to insert my new row.
Selection.Insert Shift:=xlDown
End Sub
使用此代码我必须解决问题
1 - A 不仅有 TextA、TextB 和 TextC 文本要查找。实际上,我在专栏中有 30 种不同的文字。
2 - 子 insert_row () 不起作用。
【问题讨论】:
-
我对VBA有点生疏了,但让我看看我能做什么?
-
@Rods,您尝试过自己的代码吗?你能告诉我们你尝试了什么吗?
-
@Miguel 我刚刚编辑显示我尝试过的内容
标签: vba