我有一列包含不同长度字符串的数据,以逗号分隔。
以下是一些示例:
第1行:史密斯先生,詹姆斯新,保罗西蒙
第2行:Craig David
第3行:Steven Smith,Luke O' Connor,Philip
第4行:Niall,Ryan女士
第5行:xyz,abc
我需要编写一个宏,它将自动删除除单元格中最后一个字符串之外的所有文本,即它应该将所有字符保留在最后一个逗号的右侧。
在上面的例子中,最终结果是:
第1行:保罗西蒙
第2行:Craig David
第3行:菲利普
第4行:Ryan女士
第5行:abc
答案 0 :(得分:1)
你上面的预期结果示例似乎关闭?无论如何这里是代码,让你开始,我拉出每个人的姓氏。一旦它命中逗号,它就会向后移动并获取字符串直到它到达空格。
在访问表单中添加一个文本框和标签,在上面的文本框中输入,您的标签将显示如下
Smith New Smith O' Connor Niall Ryan
Dim result As String
Dim myarray
myarray = Split(Me.Text1, ",")
For i = 0 To UBound(myarray)
Dim lastNameTemp
lastNameTemp = Split(myarray(i), " ")
Dim lastName As String
lastName = lastNameTemp(UBound(lastNameTemp))
result = result & " " & lastName
Next
Me.Label1.Caption = Trim(result)

答案 1 :(得分:0)
OK是直接的,你需要的是逗号之后的最后一个字符串,所以代码如下
Dim result As String
Dim myarray
myarray = Split(Me.Text1, ",")
result = myarray(UBound(myarray))
Me.Label7.Caption = Trim(result)

代码将在逗号后面拉最后一个字符串(如果存在),否则它将拉取字符串。现在你所要做的就是遍历记录。如果您需要更多帮助,请告诉我 -
答案 2 :(得分:0)
我将5行放在单元格A1,A2,A3,A4和A5中。我在excel文件中添加了一个按钮,代码如下。按预期输出。如果您需要更多帮助,请与我们联系。评论是以引号开头的行。
Sub Button1_Click()
Dim x As Integer
' Set numrows = number of rows of data.
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
' Select cell a1.
Range("A1").Select
' Establish "For" loop to loop "numrows" number of times.
For x = 1 To NumRows
Dim theCellValue
theCellValue = ActiveCell
Dim result As String
Dim myarray
myarray = Split(theCellValue, ",")
result = myarray(UBound(myarray))
ActiveCell.Offset(0, 1).value = Trim(result)
' Selects cell down 1 row from active cell.
ActiveCell.Offset(1, 0).Select
Next
End Sub