对于很多人来说应该很容易的快速问题,但是我并不熟悉VBA或代码,但我有一个问题,即只有一个宏或一段VBA代码可以解决我。我必须逐个单元地编辑电子表格中的大量数据条目。
关于这个问题。你能给我一个例子或者提供一个完整的宏来供我编辑这些单元吗?
我需要的编辑如下:
我需要读取以下范围内的每个单元格:B2到Q383。需要检查和编辑的典型条目如下所示:629.64 \ 3.00 \ 01:30
现在需要做的是第一个" \"左边的所有内容。以及第二个" \"需要从每个单元格中删除,包括" \"。
我试图摆弄LEFT和RIGHT命令,我可以用这样的东西输出需要从细胞中删除的数据
=左(B11,查找(" \",B11) - 1)
那么宏中的delete命令会针对该单元格中的数据选择?或者如何使用带有这些参数的删除命令?
提前感谢任何建议或答案!
答案 0 :(得分:1)
不是100%确定你之后的内容 - 你说你想要从左边和右边删除这些位,但公式会返回左边的位。
无论如何,这里有3个公式:
左: = TRIM(左(B11,找到(" \",B11)-1))
中间: = LEFT(MID(B11,FIND(" \",B11)+ 1,LEN(B11)),FIND(" \" ,MID(B11,FIND(" \",B11)+ 1,LEN(B11))) - 1)
右: = MID(B11,FIND(" \",SUBSTITUTE(B11," \","〜", 1))+ 1,LEN(B11))
还有三个VBA功能 (按照公式 - = leftbit(B11)使用这些,或者如果你正在寻找反斜杠以外的东西 - = leftbit(B11," |&# 34;)会将I-bar视为分隔符。)
Public Function LeftBit(target As Range, Optional Divider As String = "\") As String
LeftBit = Trim(Left(target, InStr(target, Divider) - 1))
End Function
Public Function MiddleBit(target As Range, Optional Divider As String = "\") As String
Dim First As Long, Second As Long
First = InStr(target, Divider)
Second = InStr(First + 1, target, Divider)
MiddleBit = Mid(target, First + 1, Second - First - 1)
End Function
Public Function RightBit(target As Range, Optional Divider As String = "\") As String
RightBit = Right(target, Len(target) - InStrRev(target, Divider))
End Function