Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 通过替换或左字符串函数从范围内的单元格中删除子字符串_Vba_Excel - Fatal编程技术网

Vba 通过替换或左字符串函数从范围内的单元格中删除子字符串

Vba 通过替换或左字符串函数从范围内的单元格中删除子字符串,vba,excel,Vba,Excel,我使用以下代码保留单元格中的前9个字符,在Sheet1的A列中保留超过6个字符: 我在wb.Sheets(“Sheet1”).Range(“A:A”)中的每个单元格的中得到一个错误 为什么呢 或者,如何修改此代码以从Sheet1的A:A列中的单元格值中删除.txt? 为此,我使用了这个,但运行它时再次出现错误: 为什么呢 您必须包括Set wb=ActiveWorkbook 像这样: 对于第一个代码: Sub left_string_column() Set wb = ActiveWork

我使用以下代码保留单元格中的前9个字符,在
Sheet1
A列中保留超过6个字符:

我在wb.Sheets(“Sheet1”).Range(“A:A”)中的每个单元格的
中得到一个错误

为什么呢

或者,如何修改此代码以从
Sheet1
A:A列中的单元格值中删除.txt? 为此,我使用了这个,但运行它时再次出现错误:


为什么呢

您必须包括
Set wb=ActiveWorkbook
像这样:
对于第一个代码:

Sub left_string_column()

Set wb = ActiveWorkbook
Dim cell As Range

For Each cell In wb.Sheets("Sheet1").Range("A:A")
If Len(cell.Value) > 6 Then cell.Value = Left(cell.Value, 9)
Next cell
Application.ScreenUpdating = True
End Sub
第二个代码应该是这样的:

Sub Delete_txt_file_names()
Dim Cel As Range, Rng As Range
Dim Word As String
Set wb = ActiveWorkbook
    Set Rng = wb.Sheets("Sheet1").Range("A:A")
    Word = ".txt"

    Application.ScreenUpdating = False
    For Each Cel In Rng
        If Cel Like "*" & Word & "*" Then
            Cel = Replace(Cel, Word, "")
        End If
    Next Cel
    Application.ScreenUpdating = True
End Sub

我希望现在对您有效。

您必须将变量wb设置为某个工作簿。
将范围变暗为范围
◄ 坏老头子;不要使用保留字作为变量的名称
Dim Word As String
很麻烦,但是
Range As Range
完全错误。
Sub left_string_column()

Set wb = ActiveWorkbook
Dim cell As Range

For Each cell In wb.Sheets("Sheet1").Range("A:A")
If Len(cell.Value) > 6 Then cell.Value = Left(cell.Value, 9)
Next cell
Application.ScreenUpdating = True
End Sub
Sub Delete_txt_file_names()
Dim Cel As Range, Rng As Range
Dim Word As String
Set wb = ActiveWorkbook
    Set Rng = wb.Sheets("Sheet1").Range("A:A")
    Word = ".txt"

    Application.ScreenUpdating = False
    For Each Cel In Rng
        If Cel Like "*" & Word & "*" Then
            Cel = Replace(Cel, Word, "")
        End If
    Next Cel
    Application.ScreenUpdating = True
End Sub