Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 70075 Skopiuj do schowka Przelicznik walut
Autor Wiadomość
Kornel45
Świeżak


Wersja: Win Office 2016
Posty: 3
  Wysłany: 06-02-2021, 22:07   Przelicznik walut

Witam.
Mam problem. Dostałem zadanie z Excela, aby wykonać następującą treść.

"Utwórz skoroszyt z listami rozwijanymi które będą przeliczały cenę kupna i sprzedaży walut w oparciu o kursy narodowego banku polskiego."

Chodzi o coś takiego jak mam arkusze: Przelicznik i Dane to w arkuszu Dane umieszczam z sieci web stronę

'www.nbp.pl/kursy/kursyc.html'

i tam wybieram tabelę. Ustawiam aby się odświerzała co minutę. I cały problem polega w tym, że muszę zrobić w arkuszu Przelicznik listę rozwijaną walut gdzie po wybraniu waluty np dolar amerykański mają się pokazać w 3 kolumnach obok dane tej waluty Kod czyli 1 USD Cena Kupna 3,4656 Cena Sprzedaży 4,563 i w 4 kolumnie musi być możliwość wpisanie liczby pieniędzy za jaką da się kupić walutę, a w 5 kolumnie musi być ile dostanę po zakupie tej ilości dolarów po jej sprzedaży.

Zadanie trudne, proszę o szybką pomoc. Jeżeli coś jest nie zrozumiałe proszę odpisać może jakoś damy rade.

Muszę to zrobić na jutro wieczór!!!
_________________
KorW ;)
ID posta: 399882 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 775 razy
Posty: 4174
Wysłany: 07-02-2021, 06:14   

Witamy na Forum.

Cytat:

Muszę to zrobić na jutro wieczór!!!
No to rób... :mrgreen: .

OK: na tyle ile można pomóc w środku nocy- zwłaszcza nocy sobota/niedziela - masz:

1. Import ze strony (na potrzeby testów - odświeżanie co 20 sek.).
2. Wybór waluty na podstawie zaimportowanej tabeli.
3. Uzupełnianie danych.

Zostało:
Cytat:
w 4 kolumnie musi być możliwość wpisanie liczby pieniędzy za jaką da się kupić walutę, a w 5 kolumnie musi być ile dostanę po zakupie tej ilości dolarów po jej sprzedaży.
To musisz wytłumaczyć dokładniej.

Ponieważ to wersja "beta - beta": działanie kodu:
1. Klik na "Start" w arkuszu "Dane" - importuje dane ze strony nbp i wyzwala pętle powtarzającą import - od tego zaczynamy. Nie zrobiłem tego automatem z przyczyn j.w.
2. Wybór waluty - raczej oczywisty.
3. Kod na pewno będzie sypał błędami - przyczyna: j.w.
4. Obsługa błędów: minimalna (na poziomie przedszkola).
5. Zaraz dostanę ochrzan - ale nie ma programowego wyjścia z odświeżania :mrgreen: .
6. Dodałem info "Odświeżam" - ale to dotyczy arkusza "Dane" - wartości komórek w arkuszu "Przelicznik" nie będą automatycznie uaktualnione!.

Ale początek zrobiłem - może ktoś pociągnie dalej...

PS.
Cytat:
w arkuszu Dane umieszczam z sieci web stronę
'www.nbp.pl/kursy/kursyc.html'
i tam wybieram tabelę
Tego też nie rozumiem - na tej stronie jest tylko jedna tabela...

VBA:

W arkuszu "Przelicznik":
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wsD As Worksheet

On Error GoTo laEnd

If Not Intersect(Target, Range("A2")) Is Nothing Then

    Set wsD = Sheets("Dane")
   
    Range("B2").Value = Application.VLookup(Range("A2").Value, wsD.Range("A3:D15"), 2)
    Range("C2").Value = Application.VLookup(Range("A2").Value, wsD.Range("A3:D15"), 3)
    Range("D2").Value = Application.VLookup(Range("A2").Value, wsD.Range("A3:D15"), 4)

End If

laEnd:
End Sub


W arkuszu "Dane":
Kod:
Option Explicit
Private Sub CommandButton1_Click()

Call Makro1

End Sub


W Moduł1:
Kod:
Option Explicit

Sub Makro1()
Dim wsD As Worksheet, wsP As Worksheet

On Error GoTo laEnd

Set wsD = Sheets("Dane")
Set wsP = Sheets("Przelicznik")

wsD.Cells.ClearContents
wsP.Range("G2").Value = "Odświeżam"

wsD.Select

With wsD.QueryTables.Add(Connection:= _
    "URL;http://www.nbp.pl/kursy/kursyc.html", Destination:=Range("$A$1"))
    '.CommandType = 0
    .Name = "kursyc"
    .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 = "4"
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With

laEnd:
wsP.Range("G2").Value = ""
Application.OnTime Now + TimeValue("00:00:20"), "Makro1"
wsP.Select
Exit Sub

wsP.Range("G2").Value = ""
Application.OnTime Now + TimeValue("00:00:20"), "Makro1"
wsP.Select

End Sub


nbp.xlsm
Pobierz Plik ściągnięto 6 raz(y) 130.6 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 399894 Skopiuj do schowka
 
 
Kornel45
Świeżak


Wersja: Win Office 2016
Posty: 3
Wysłany: 07-02-2021, 10:45   

umiejead, A nie da się tego zrobić bez makr, w desen jak jest ta lista to czy da się przy wybraniu jakieś waluty obok wczytać dane tej waluty ?
_________________
KorW ;)
ID posta: 399903 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 775 razy
Posty: 4174
Wysłany: 07-02-2021, 11:11   

Da się. Ale: pierwsza przeszkoda (pomijam pisownię :evil: ):
Cytat:
Ustawiam aby się odświerzała co minutę

Tego nie zrobisz formułą (może za pomocą PQ - ale tu musisz uśmiechnąć się do fachowca :mrgreen: ).
.
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 399905 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe