您好我有一个电子表格,我想使用当前单元格值打开指定的网址并输入旁边的列。 URL仅包含一组字符。我尝试使用相对引用打开录音并获得以下内容:
Sub GETASINV2()
'
' GETASINV2 Macro
'
'
Selection.Copy
Application.CutCopyMode = False
Workbooks.OpenText Filename:="http://upctoasin.com/027616716927", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Selection.Copy
ActiveWindow.ActivateNext
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, -1).Range("A1").Select
End Sub
正如你所看到的那样,它似乎与文件名相对,它已经获取了我输入的值而不是我“复制粘贴值”的事实。
一旦完成,我想重复剩余的网址列表(大约3000)。我可能会发现有些重复,直到不再存在URL,但如果你知道一种方法也很乐意在这部分得到帮助!
谢谢
答案 0 :(得分:0)
我将您提供给我们的链接放在行A1:A10
中并运行以下代码以循环遍历每个单元格,并将单元格中链接的值放到右侧。
我还测试了1000个链接,它在279秒内完成 - 大约每秒4个。我有兴趣看看是否有人有更快的方法。
Sub GETASINV2()
Application.ScreenUpdating = False
Dim sht As Worksheet
Set sht = ThisWorkbook.Worksheets("Sheet1") 'update for your worksheet name
Dim inputRange As Range, r As Range
Set inputRange = sht.Range("A1:A10") 'update for your range
For Each r In inputRange
With sht.QueryTables.Add(Connection:= _
"URL;" & r.Value, Destination:=r.Offset(0, 1))
.Refresh BackgroundQuery:=False
.Delete
End With
Next r
Application.ScreenUpdating = True
End Sub
<小时/>的更新强>
有没有办法根据没有间隙的记录数量计算出范围本身的大小?
是的,您可以替换它:
Set inputRange = sht.Range("A1:A10")
以下内容:
Set inputRange = Range(sht.Range("A1"), sht.Range("A1").End(xlDown))
A1
是第一个链接的位置