ეს სავარჯიშო გვიჩვენებს, თუ როგორ უნდა წაიკითხოთ მონაცემები ვებსაიტიდან, ამ შემთხვევაში ვალუტის გაცვლის კურსები Yahoo.com-დან.
ვარაუდობენ, რომ მკითხველს აქვს დეველოპერის ლენტი ნაჩვენები და იცნობს VBA რედაქტორს. თუ არა, გთხოვთ Google „Excel Developer Tab“ ან „Excel Code Window“.
წინაპირობები მოიცავს კომბო-ბოქსების შევსების და სახელების განსაზღვრის ცოდნას.
სამუშაო წიგნი შედგება ორი ფურცლისგან:
მომხმარებლის ინტერფეისი:
ყიდვა-გაყიდვის კომბინირებული ველები მიუთითებს ადგილობრივ მონაცემთა ფურცელზე ქვემოთ.
ცხრილი D11-ზე ავტომატურად იქნება ჩასმული თავად ვებსაიტიდან, შეინარჩუნებს მომხმარებლის ფორმატირებას.
xlsm ამ სავარჯიშოსთვის შეგიძლიათ ჩამოტვირთოთ აქ დაწკაპუნებით.
თავად შექმენით აპლიკაცია.
შექმენით ფურცელი ორი კომბინირებული ყუთით. კომბინირებული ყუთები მიუთითებს უჯრედებზე მეორე ფურცელზე.
კომბინირებული ყუთები ასევე გამოიძახებენ კოდს ვებსაიტის წასაკითხად, გამოყენებით შეცვლა ღონისძიება.
ვალუტების სახელები შეიძლება ჩაიწეროს მეორე ფურცელში („ვალუტები“) ქვემოთ მოცემული სიიდან, დალაგების თანმიმდევრობა პირადი უპირატესობის საკითხია:
| ZAR |
| აშშ დოლარი |
| ევრო |
| GBP |
| CHF |
| AUD |
| NZD |
| JPY |
| CAD |
| SEK |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
ჩასვით მონაცემები B და E სვეტებში.
განსაზღვრეთ სახელები და გამოიყენეთ ინდექსის ფუნქციები ილუსტრაციის მიხედვით:
ვინაიდან სახელები განისაზღვრა ადგილობრივ მონაცემთა ფურცელზე „ვალუტა“, ფურცელი „მთავარი“ მხოლოდ განსაზღვრულ სახელებს უნდა მიუთითებდეს მნიშვნელობის მისაღებად, ანუ =SELL და =BUY „მთავარი“ უჯრედებისთვის E10 და G10 შესაბამისად.
ჩვენ დავაპროგრამებთ 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 ტიპის სახით.
შეამოწმეთ კოდი კომბინირებული ველების მნიშვნელობების შეცვლით, შემდეგ კი გააქტიურეთ ჩასმული ცხრილის ფორმატები (ოთხი ათობითი ადგილი, ბადე, ჩრდილები?).
Excel ფაილების კორუფცია
Excel ცნობილია, რომ ზოგჯერ არღვევს ფაილებს შენახვისას, შემდეგ ცდილობს საკუთარი თვითაღდგენის რუტინას, რაც ხშირად, ჩემი გამოცდილებით, უბრალოდ არ მუშაობს. ეს შეიძლება დამღუპველი იყოს მომხმარებლისთვის, რადგან ეს არის წყაროს ფაილი (შესაძლოა თქვენი ერთადერთი ასლი) განადგურებული. დაზიანებული Excel ფაილი თუმცა შეიძლება გარემონტდეს მესამე მხარის ხელსაწყოების გამოყენებით, რაც დაზოგავს მნიშვნელოვან დროსა და ძალისხმევას.
ავტორი შესავალი:
ფელიქს ჰუკერი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის სარემონტო rar არქივი და sql აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად
