Vba 返回句子的最后一个单词

Vba 返回句子的最后一个单词,vba,excel,Vba,Excel,尝试按如下方式获取I/O: Col B is input Col C will get output 1 ABC DEF JKH JKH 2 KJJB ljac Kjb Kjb 3 jabcl sjac casc casc . . 但我在第11行得到的错误是“无效的过程调用或参数”: 给你 Sub Santosh() Dim i&, v, w v = Wor

尝试按如下方式获取I/O:

     Col B is input        Col C will get output
 1   ABC DEF JKH              JKH
 2   KJJB ljac Kjb            Kjb
 3   jabcl sjac casc          casc
 . 
 .
但我在第11行得到的错误是“无效的过程调用或参数”:

给你

Sub Santosh()
    Dim i&, v, w
    v = Worksheets("Main").[b1:index(b:b,match("*",b:b,-1))].Value
    For i = 1 To UBound(v)
        w = Split(v(i, 1), " ")
        v(i, 1) = w(UBound(w))
    Next
    Worksheets("Main").[c1].Resize(UBound(v)) = v
End Sub
给你

Sub Santosh()
    Dim i&, v, w
    v = Worksheets("Main").[b1:index(b:b,match("*",b:b,-1))].Value
    For i = 1 To UBound(v)
        w = Split(v(i, 1), " ")
        v(i, 1) = w(UBound(w))
    Next
    Worksheets("Main").[c1].Resize(UBound(v)) = v
End Sub
str=单元格(“i,B”).Value'错误,此处为无效的过程调用或参数

语法错误。应为
范围(“B”和i)
单元格(i,“B”)
str=Cells(“i,B”)。此处的“值”错误为无效的过程调用或参数

语法错误。应该是
范围(“B”和i)
单元格(i,“B”)
考虑:

Option Explicit

Sub separate()
   Dim strarr() As String
   Dim sttr As String
   Dim i As Long, j As Long
   Dim k As Long
   Dim ws As Worksheet

   Set ws = Sheets("Main")
   k = ws.Range("B1048576").End(xlUp).Row

   For i = 1 To k
      sttr = Cells(i, "B").Text
      strarr = Split(sttr)
      j = UBound(strarr)
      Cells(i, "C").Value = strarr(j)
   Next i
End Sub
考虑:

Option Explicit

Sub separate()
   Dim strarr() As String
   Dim sttr As String
   Dim i As Long, j As Long
   Dim k As Long
   Dim ws As Worksheet

   Set ws = Sheets("Main")
   k = ws.Range("B1048576").End(xlUp).Row

   For i = 1 To k
      sttr = Cells(i, "B").Text
      strarr = Split(sttr)
      j = UBound(strarr)
      Cells(i, "C").Value = strarr(j)
   Next i
End Sub


我不确定它是否对您有帮助,但我认为
Range.Cells
Property()必须由数字索引引用。还有一件事:在
单元格(“I,B”)
中,I和B是什么意思?@HaunsTM它的意思是I'th row和Bcol@HaunsTM执行以下更改后,仍然会出现相同的错误。'str=Range(.Cells(“i,B”)。值“i,C”不是有效的范围名称。我不确定它是否有帮助,但我认为
Range.Cells
Property()必须由数字索引引用。还有一件事:
单元格(“i,B”)中的i和B是什么意思
?@HaunsTM的意思是第i行和第B行col@HaunsTM执行以下更改后,仍然会出现相同的错误。'str=Range(.Cells(“i,B”)。值“i,C”不是有效的范围名称。如果v(i,1)=w(UBound(w))处的下标超出范围,则表示的数据不正确。解决方案在这里很有效。请把你的档案寄给我,我会马上整理。我的电子邮件是:丹尼尔。ferry@gmail.com.ok错误在B列的数据中,中间的一个单元格是空的,非常抱歉,您的代码运行得很好。很高兴听到这个消息,并且我能够提供帮助。不,如果下标在v(I,1)=w(UBound(w))处超出范围,那么您的数据就没有表示出来。解决方案在这里很有效。请把你的档案寄给我,我会马上整理。我的电子邮件是:丹尼尔。ferry@gmail.com.ok错误在B列的数据中,中间的一个单元格是空的,非常抱歉,您的代码运行得很好。很高兴听到这个消息,并且我能够提供帮助。谢谢这是一个完美的解决方案:)谢谢这是一个完美的解决方案:)