Excel 如果单元格的第一个字符是GUF,则删除GUF,如果不是,则将其留空
我对编码还是新手,所以如果我不懂所有的东西,我道歉 我需要检查D3:D5000的每个单元格是否以GUF开头。然后将GUF从其上拆下。否则我什么也不做 这是我一直试图使用的,但我得到一个错误Do ohne循环:Excel 如果单元格的第一个字符是GUF,则删除GUF,如果不是,则将其留空,excel,vba,if-statement,character,Excel,Vba,If Statement,Character,我对编码还是新手,所以如果我不懂所有的东西,我道歉 我需要检查D3:D5000的每个单元格是否以GUF开头。然后将GUF从其上拆下。否则我什么也不做 这是我一直试图使用的,但我得到一个错误Do ohne循环: Sub RemoveGUFfromcellsstartingwithGUF() Range("D3").Select Selection.End(xlDown).Offset(1, 0).Select ActiveCell = "end" Range("B1")
Sub RemoveGUFfromcellsstartingwithGUF()
Range("D3").Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveCell = "end"
Range("B1").Select
Do Until ActiveCell = "end"
If ActiveCell = "GUF*" Then
ActiveCell.Value = Mid(Cell, 4, 999999)
End If
ActiveCell.Offset(1, 0).Select
End Sub
谢谢你的帮助/建议
这就是你要尝试的吗
Sub Sample()
Dim ws As Worksheet
Dim lRow As Long, i As Long
Set ws = Sheet1 '<~~ Change this to the relevant sheet
With ws
'~~> Find last row in Col D
lRow = .Range("D" & .Rows.Count).End(xlUp).Row
'~~> Loop through cell in Col D
For i = 3 To lRow
If .Range("D" & i).Value Like "GUF*" Then
.Range("D" & i).Value = Mid(.Range("D" & i).Value, 4)
End If
Next i
End With
End Sub
子样本()
将ws设置为工作表
朦胧如长,我如长
设置ws=Sheet1'循环通过列D中的单元格
对于i=3至lRow
如果.Range(“D”&i).值像“GUF*”那么
.Range(“D”和i).Value=Mid(.Range(“D”和i).Value,4)
如果结束
接下来我
以
端接头
首先,当您在单元格中循环时,最好对单元格中的每个单元格使用,无需更改选择
首先,设置一个运行范围
Sub RemoveGUFfromcellsstartingwithGUF()
dim first_cell as Range
dim last_cell as Range
dim rng as Range
set first_cell = ActiveSheet.Range("D1") 'first cell of your range
set last_cell = ActiveSheet.Range("D5000") 'last cell of your range
set rng = Range(first_cell, last_cell) 'range from first_cell to last_cell
For Each cell in rng.cells 'looping through cells of the range
'What you do here will be done to every cell.
if left(cell.value, 3) = "GUF" then cell.value = Mid(cell.value,4)
Next cell
End Sub
我希望这有帮助。Ehm使用搜索/替换如何?搜索“GUF”
reaplace with“
”。将If.Range(“D”和i)这样的值更改为,然后将更改为,如果保留(.Range(“D”)和i.Value,3)=“GUF”然后更改为@Yane:我可以问一下为什么要更改它吗?:)您也可以使用Left()
。给猫剥皮的方法很多…用词不当,它应该说“我会用Left()相反…:)@Yane:啊,好吧…现在这是个人的选择:)@Cedric注意,在Set ws=Sheet1
中,Sheet1
是工作表的VBA名称,而不是选项卡上的名称。如果要使用选项卡的名称,请使用Set ws=ThisWorkbook.Worksheets(“EVA”)
。