Excel 将图纸的列仅转换为值(删除公式)

Excel 将图纸的列仅转换为值(删除公式),excel,vba,Excel,Vba,你能帮我用下面的公式吗?它给出了对象定义或应用程序定义的错误。非常感谢 Sub cellstovalues() Sheets("Parsing").Select Columns("B:B").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End

你能帮我用下面的公式吗?它给出了对象定义或应用程序定义的错误。非常感谢

Sub cellstovalues()

    Sheets("Parsing").Select
    Columns("B:B").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

您的代码在选择整个列B时出现问题。请尝试使用此选项。这将找到列中最后使用的单元格,然后复制并粘贴,将公式转换为所需的值

Sub cellstovalues()
    Dim ws As Worksheet
    Dim LastRow As Integer
    Dim rng As Range

    Set ws = ThisWorkbook.Sheets("Parsing")
    With ws
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        Set rng = .Range(.Cells(1, "B"), .Cells(LastRow, "B"))
    End With
    rng.Copy
    rng.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

或者,您可以简单地将值指定给范围的Value2或Value属性:

Sub cellstovalues()
    With Sheets("Parsing")
        With Intersect(.Range("B:B"), .UsedRange)
            .Value2 = .Value2
        End With
    End With
End Sub
或针对特定范围:

Sub cellstovalues()
    With Sheets("Parsing").Range("B1:C10")
         .Value2 = .Value2
    End With
End Sub