Vba 通过替换或左字符串函数从范围内的单元格中删除子字符串
我使用以下代码保留单元格中的前9个字符,在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
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