【问题标题】:VBA Split functionVBA 拆分功能
【发布时间】:2016-02-26 00:29:18
【问题描述】:

输入格式 = https://instagram.com/baby_blues_tattoos/ 或 = https://instagram.com/baby_blues_tattoos

变量 usname = followers/baby_blues_tattoos 的预期最终值

变量 usname = followers/ 的当前最终值

我无法使用下面的代码从输入中提取用户名需要帮助。

Option Explicit
Sub InstaUs()

Dim wk, ws, wc As Worksheet
Set wk = Sheets(3)  'Art
Set ws = Sheets(2)  'Shop
Set wc = Sheets(10) 'Output

Dim str, i, j, l, FinalRowArt, FinalRowShop, FinalRowOut, fol
Dim Cet, usname

fol = "followers/"

FinalRowArt = wk.Range("M900000").End(xlUp).Row
FinalRowShop = ws.Range("L900000").End(xlUp).Row
FinalRowOut = wc.Range("A900000").End(xlUp).Row
j = 2
For i = 2 To FinalRowArt

If wk.Range("M" & i) <> "" Then
str = wk.Range("M" & i).Value
Cet = Split(str, "/")

usname = Cet(UBound(Cet))
usname = fol & usname
wc.Range("A" & j) = usname
j = j + 1

Else: End If
Next i

For i = 2 To FinalRowShop
If ws.Range("L" & i) <> "" Then
str = ws.Range("L" & i).Value
Cet = Split(str, "/")

usname = Cet(UBound(Cet))

usname = fol & usname
wc.Range("A" & j) = usname
j = j + 1

Else: End If
Next i
End Sub

【问题讨论】:

  • https://instagram.com/baby_blues_tattoos/...split 最后一个元素是空白吗?
  • 那么做一个if 语句来测试字符串是否以/ 结尾?如果是这样,取倒数第二个元素 split?
  • @findwindow 我尝试使用 if-else 语句检查最后一个元素是否为空白,如果它为空白,我将倒数第二个元素分配给 usname 但结果仍然相同
  • 呃在你的代码中看不到吗?发布吗?
  • 只需添加if right(str,1)="/" then usname = Cet(UBound(Cet)-1)

标签: string vba excel split


【解决方案1】:

在建立str 后添加If 语句

    If Right(str, 1) = "/" Then
        Cet = Split(Mid(str, 1, Len(str) - 1), "/")
    Else
        Cet = Split(str, "/")
    End If

【讨论】:

  • 仍然很有趣 OP 尝试了if else,但没有发布所述代码 XD
  • @findwindow & Scott 谢谢你的帮助。
猜你喜欢
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
相关资源
最近更新 更多