【发布时间】:2021-02-22 14:04:18
【问题描述】:
我用它来拆分 facebook url,如果我在工作表上,它可以正常工作。我现在将从用户窗体运行它,并且工作表将不再可见或活动工作表。我一直在尝试设置工作表,因此无论哪个工作表处于活动状态,它仍然可以工作。但是我正在努力这样做。
Q) 有人可以帮我设置工作表“Facebook”吗? (所以无论哪个工作表处于活动状态,这都可以在用户表单上工作)
我已经注释掉了我的尝试,我也尝试过使用With Sheet,但似乎没有什么对我有用
Dim i As Long, j As Long
Dim va, x, z
'Dim wb As Workbook: Set wb = ThisWorkbook
'Dim va As Worksheet
'Set va = wb.Sheets("Facebook")
va = Range("A2", Cells(Rows.Count, "A").End(xlUp))
On Error GoTo skip:
For i = 1 To UBound(va, 1)
x = va(i, 1)
If Right(x, 1) <> "/" Then x = x & "/"
If InStr(x, "/posts/") Or InStr(x, "/about/") Then
z = Split(x, "/")
For j = LBound(z) To UBound(z)
If z(j) = "posts" Or z(j) = "about" Then x = "https://www.facebook.com/" & z(j - 1) & "/about":
Exit For
Next
End If
If InStr(x, "/category/") Then
z = Split(x, "/")
For j = LBound(z) To UBound(z)
If z(j) = "category" Then x = "https://www.facebook.com/" & z(j + 2) & "/about":
Exit For
Next
End If
va(i, 1) = x
Next
ws.Range("B2").Resize(UBound(va, 1), 1) = va
Exit Sub
skip:
MsgBox "Error number " & Err.Number & " : " & Err.Description & vbLf _
& "Problem at row :" & i + 1 & vbLf & va(i, 1)
'End With
【问题讨论】:
-
仅供参考 Rubberduck 代码检查可以找到导致此问题的 Implicit ActiveSheet references。
标签: excel vba web-scraping screen-scraping