PARTNER SERWISU
vggmmlwy

Macro w excelu - opóźnienie uruchomienia polecenia

handcare
0
Dołączył: 2012-01-22
Wpisów: 25
Wysłane: 27 stycznia 2012 00:13:35
Mam taki problem.

Poprzez opcję Dane/połączenie ściągam aktualne notowania do excela. Niestety dane ściągają się z kropkami a nie przecinkami, dlatego też muszę zmienić kropki na przecinki, aby excel mógł je "rozumieć". Napisałem proste makro automatyzujace te czynności. Niestety proces odświeżania danych trwa kilka sekund i gdy dane w koncu się ściągną to nie następuje kolejny krok, czyli zamiania kropek na przecinki, bo jak przypuszczam ten drugi krok został wykonany zanim proces odświeżania danych się zakończył.

Chodzi mi zatem o to, aby opóźnić wykonanie drugiego kroku o kilka sekund, tak by dac czas na definitywne ściągnięcie danych, na których ten drugi krok ma być wykonany.

Jaki kod można zastosować aby opóźnić wykonanie kolejnego polecenia o kilka sek?



Kod wygląda następująco:

Sub dane_import()

' odśwież dane

Sheets("automat").Select
ActiveWorkbook.RefreshAll
Shets("wstep").Select

' zmień kropki na przecinki

Sheets("automat").Select
Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

' oblicz różnice i przeciągnij

Sheets("automat").Select
Range("U3").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-5]<RC[-10],RC[-5]-RC[-10],""nie"")"
Range("U3").Select
Selection.Copy
Range("U4").Select
Range(Selection, Selection.End(xlDown)).Select
Range("U4:U227").Select
ActiveSheet.Paste
Range("U2").Select
Sheets("wstep").Select

End Sub


handcare

majkelos
0
Dołączył: 2009-03-17
Wpisów: 1
Wysłane: 30 stycznia 2012 00:35:57
Witaj,

Mozesz sprobowac tego:

Application.Wait Now + TimeValue("0:00:01"),

choc z doswiadczenia wiem, ze excel powinien poczkac z makrem az kalkulacje zostana wykonane (choc moze to nie dotyczy danych zewnetrznych).

Innym sposobem moze byc - odswiez dane zewnetrzne zaraz po uruchomieniu arkusza, a makro wykonaj po nacisniecu przycisku czy jak tam wolisz.

Inna rzecza jakiej mozesz sie przyjzec to trigery dla poszczegolnego skoroszytu takie jak np.
Calculate, Activate, SelectionChange - moze to pomoze.

pozdrawiam
michal

Użytkownicy przeglądający ten wątek Gość



Na silniku Yet Another Forum.net wer. 1.9.1.8 (NET v2.0) - 2008-03-29
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.
Czas generowania strony: 0,088 sek.

wpywumia
ummtjrpr
mtoczzxf
Portfel StockWatch
Data startu Różnica Wartość
Portfel 4 fazy rynku
01-01-2017 +75 454,67 zł +377,27% 95 454,67 zł
Portfel Dywidendowy
03-04-2020 +60 637,62 zł 254,44% 125 556,00 zł
Portfel ETF
01-12-2023 +4 212,35 zł 20,98% 24 333,09 zł
pgyndyxp
rpvwkjdn
cookie-monstah

Serwis wykorzystuje ciasteczka w celu ułatwienia korzystania i realizacji niektórych funkcjonalności takich jak automatyczne logowanie powracającego użytkownika czy odbieranie statystycznych o oglądalności. Użytkownik może wyłączyć w swojej przeglądarce internetowej opcję przyjmowania ciasteczek, lub dostosować ich ustawienia.

Dostosuj   Ukryj komunikat