我有以下格式的数据文件:
在A栏中,标识符双重出现(例如302_60)或单独出现(例如310_58)。其他信息见B列。
我想做的是:
我使用= COUNTIF(A:A,A1)= 1
解决了#1
然后我写了一个VBA脚本来解决#2
Sub ins_below_and_copy()
Dim c As Range
For Each c In Range("C1:C100")
If InStr(1, c, "TRUE", vbTextCompare) > 0 Then
Rows(c.Offset(1, 0).Row & ":" & c.Offset(1, 0).Row).Insert Shift:=xlDown
End If
Next c
End Sub
达到预期的最终结果(#3)
看起来很简单吧?我一直在尝试.Copy和.Paste命令,但一直遇到类型不匹配错误,这个错误对我来说没有意义(因为我不是一个称职的VBA编码器)。有什么想法吗?
答案 0 :(得分:0)
你已经完成了所有艰苦的工作,填补空白很容易。选择两列,HOME>编辑 - 查找&选择,转到特殊...,空白,确定,=
,向上和Ctrl + Enter。
答案 1 :(得分:0)
您可以在创建空行后运行此步骤。
Dim sheet As String
Dim lastRow As Long
sheet = "SheetName"
lastRow = Sheets(sheet).Range("A" & Rows.Count).End(xlUp).Row
For r = 2 To lastRow 'Assuming you have a Header Row
If Sheets(sheet).Cells(r, 1) = "" Then
Sheets(sheet).Cells(r - 1, 3) = "FALSE"
Sheets(sheet).Cells(r, 1) = Sheets(sheet).Cells(r - 1, 1)
Sheets(sheet).Cells(r, 2) = Sheets(sheet).Cells(r - 1, 2)
Sheets(sheet).Cells(r, 3) = Sheets(sheet).Cells(r - 1, 3)
End If
Next r