用于删除包含某些文本字符串的所有行的Vba脚本,该字符串给出不匹配错误以及转置脚本

时间:2017-10-19 13:47:55

标签: excel vba excel-vba

我使用以下两个宏来清理我在一列中收到的数据,第一个是清除包含某些不需要的单词的行的数据。第二个将此列转换为由变量标识的行(在本例中为X)。当我在新桌面上运行它们时,这两个脚本现在都会出现不匹配错误13。如果有人可以提供帮助,我们将不胜感激!

由于

Sub deletewordsandblanks()

Last = Cells(Rows.Count, "A").End(xlUp).Row
For i = Last To 1 Step -1
        If (Cells(i, "A").Value) = "Surname" Then

        Cells(i, "A").EntireRow.Delete

    End If
Next i
End Sub

并通过以下方式完成转置:

Sub transpose()
Dim i As Long, lRow As Long, n As Long, j As Long
lRow = Range("A" & Rows.Count).End(xlUp).Row
n = 1
j = 1
For i = n To lRow
    If Cells(i, 1).Value = "X" Then
        Range(Cells(i, 1), Cells(n, 1)).Copy
        Range(Cells(j, 2), Cells(j, i)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
              :=False, transpose:=True
        Application.CutCopyMode = False
        n = i + 1
        j = j + 1
    End If
Next i
Columns(1).Delete
End Sub

1 个答案:

答案 0 :(得分:0)

问题不在于代码,而是数据格式不正确并导致不匹配。这是由于扫描文档转换为列。 为错误道歉并感谢您的帮助!