다소 기본적인 Excel 기술을 사용하여 많은 양의 데이터를 다 써 버리려합니다. 이것을 가이드 (http://www.familycomputerclub.com/scrpae-pull-data-from-websites-into-excel.html)로 사용하고 있으며 내 데이터를 위해 작동하지만 이제는 내 요구 사항을 충족시키기 위해 코드를 수정하려고합니다.웹에서 루프가있는 행으로 데이터 변환하기
나는 약 10,000 롤 번호는 열에 나열하고 (지난 10 개 자리가 롤 번호 인)이 사이트에서 데이터를 긁어 할 필요가있다 : (http://www.winnipegassessment.com/AsmtPub/english/propertydetails/details.aspx?pgLang=EN&isRealtySearch=true&RollNumber=2011016000
을 기본적으로, 오히려 각 페이지 다운로드 새로운 워크 시트를 추가하는 대신 위에서 사용한 지침에 따라) 마스터 페이지에 모든 새 데이터를 보관하고 해당 롤 번호가있는 행 (아마도 C 열에서)으로 바꾸기 만하면됩니다. 응답에 대한
Sub adds()
For x = 1 To 5
Worksheets("RollNo").Select
Worksheets("RollNo").Activate
mystr = "URL;http://www.winnipegassessment.com/AsmtPub/english/propertydetails/details.aspx?pgLang=EN&isRealtySearch=true&RollNumber=2000416000.html"
mystr = Cells(x, 1)
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = x
With ActiveSheet.QueryTables.Add(Connection:=mystr, Destination:=Range("$A$2"))
'CommandType = 0
.Name = "2000416000_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "2,6,7" '---> Note: many tables have been selected for import from the website
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next x
End Sub
많은 감사를, 내가 실행할 때 다음과 같은 오류를 얻을 : 다음과 같이
내 코드는 "실행 시간 오류 9 : 범위 밖으로 아래 첨자"라인 : Set shtData = Worksheets ("WebQuery") –
"WebQuery"라는 워크 시트가 있습니까? 그렇지 않다면 하나를 추가해야합니다 (또는 기존 워크 시트에 코드의 이름을 변경해야합니다). –
Ha - 작성한대로 작업했습니다. 스크립트를 실행하면 B 열의 내용이 삭제됩니다 ... 아마도 마스터 파일이 잘못 설정되어 있습니다 (사진을 추가하려했지만 사이트에서 허용하지 않았습니다). my A column url; http : //www.winnipegassessment.com/AsmtPub/english/propertydetails/details.aspx? pgLang = EN & isRealtySearch = true & RollNumber = 2001118000이고 B 열은 해당 RollNo입니다 (in은 웹 주소로 구성됩니다. 이 예 : 2001118000) ... 작동하도록이 설정을 다르게 설정해야합니까? –