Excel公式中的“ _”下划线

时间:2018-12-10 11:48:12

标签: excel vba excel-vba

当我尝试运行这些命令时遇到问题。问题来自公式表达式,因为"_"是语法错误,但是我在Excel单元格中确实需要该公式,

我怎么解决呢?

Sub Prueba_Fernando()
Application.ScreenUpdating = False
Range("B:B").Columns.Insert
    Range("B1").FormulaLocal = "=EXTRAE(A1;HALLAR("_";A1;2)+1;LARGO(A1)-HALLAR("_";A1;1))"
        Set h1 = Sheets("Hoja1")
        h1.Range("B1").Copy
        For Each h In Sheets
        u = h.Range("A" & Rows.Count).End(xlUp).Row
        h1.Range("B2:B" & u).PasteSpecial xlAll
        Next
        MsgBox "Fórmulas aplicadas"

Dim xColIndex As Integer
Dim xRowIndex As Integer
xIndex = Application.ActiveCell.Column
xRowIndex = Application.ActiveSheet.Cells(Rows.Count, xIndex).End(xlUp).Row
Range(Cells(3, xIndex), Cells(xRowIndex, xIndex)).Copy
Application.ScreenUpdating = True
MsgBox "Información copiada a Portapapeles"

End Sub

1 个答案:

答案 0 :(得分:2)

是的,问题出在公式上。

它是由"引起的,当您想在字符串中进行双倍输入时,需要将其加倍,否则它将被解释为字符串的结尾,因此会出错。

使用此行:

Range("B1").FormulaLocal = "=EXTRAE(A1;HALLAR(""_"";A1;2)+1;LARGO(A1)-HALLAR(""_"";A1;1))"