이 연습에서는 웹 사이트에서 데이터를 읽는 방법을 보여줍니다.이 경우에는 Yahoo.com의 최신 환율을 보여줍니다.
독자에게 개발자 리본이 표시되고 VBA 편집기에 익숙하다고 가정합니다. 그렇지 않은 경우 Google "Excel 개발자 탭"또는 "Excel 코드 창"을 사용하십시오.
전제 조건에는 콤보 상자 채우기 및 이름 정의에 대한 지식이 포함됩니다..
통합 문서는 두 개의 시트로 구성됩니다.
사용자 인터페이스 :
구매 및 판매 콤보 상자는 아래의 로컬 데이터 시트를 참조합니다.
D11의 표는 사용자 서식을 유지하면서 웹 사이트 자체에서 자동 붙여 넣기됩니다.
이 연습을위한 xlsm을 다운로드 할 수 있습니다. 여기에서 확인하세요.
직접 애플리케이션 구축.
두 개의 콤보 상자가있는 시트를 만듭니다. 콤보 상자는 두 번째 시트의 셀을 참조합니다.
콤보 상자는 또한 다음을 사용하여 웹 사이트를 읽는 코드를 호출합니다. 변화 행사.
통화 이름은 아래 목록의 두 번째 시트 ( "통화")에 붙여 넣을 수 있으며 정렬 순서는 개인 취향에 따라 다릅니다.
| ZAR |
| USD |
| EUR |
| GBP |
| CHF |
| AUD |
| NZD |
| JPY |
| CAD |
| SEK |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
데이터를 B 열과 E 열에 붙여 넣습니다.
그림에 따라 이름을 정의하고 색인 기능을 사용합니다.
이름이 로컬 데이터 시트 "Currencies"에 정의되었으므로 시트 "Main"은 값을 얻기 위해 정의 된 이름을 참조하기 만하면됩니다. 즉, "Main"셀 E10 및 G10에 대해 각각 = SELL 및 = BUY입니다.
웹을 읽기 위해 Excel을 프로그래밍 할 것입니다. 그러나 데이터 리본에는 다른 시나리오를 구축 할 때 매크로로 기록 할 수있는 인스턴스 인 자체 기본 제공 프로세스가 있습니다. 컴퓨터 또는 브라우저 구성은 웹 페이지 스크립트에 부정적인 영향을 미칠 수 있습니다.
코드
모듈을 삽입하고 다음을 입력하십시오.
Option Explicit
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D11:F14").ClearContents 'prepare the ground for the web data
currBuy = Range("BUY") 'get variable values from Defined Names previously set up
currSell = Range("SELL")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
.Name = "q?s=" & currSell & currBuy & "=X"
.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 = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End sub
Sub DropDown2_Change() 'This event will call the routine above. Object name might differ.
Call Ticker
End Sub
Sub DropDown1_Change()
Call Ticker
End Sub
통합 문서를 xlsm 형식으로 저장.
콤보 상자의 값을 변경하여 코드를 테스트 한 다음 붙여 넣은 표의 형식을 스마트하게 만듭니다 (소수점 XNUMX 자리, 격자 선, 음영?).
Excel 파일 손상
Excel은 저장시 파일을 손상시키는 것으로 알려져 있으며, 그 후 내 경험상 종종 작동하지 않는 자체 복구 루틴을 시도합니다. 이것은 파괴되는 소스 파일 (아마도 유일한 복사본)이기 때문에 사용자에게 재앙이 될 수 있습니다. 손상된 Excel 파일 그러나 타사 도구를 사용하여 복구 할 수 있으므로 상당한 시간과 노력을 절약 할 수 있습니다.
저자 소개 :
Felix Hooker는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. 수리 rar 아카이브 및 SQL 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM

