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: 13534 Skopiuj do schowka kopiowanie danych z innego pliku
Autor Wiadomość
nenek 
ExcelSpec


Pomógł: 246 razy
Posty: 540
Wysłany: 29-08-2009, 12:54   kopiowanie danych z innego pliku

Mam takie oto makro do kopiowania danych z innego pliku
działa jest ok
Ale chciał bym dodać taki warunek że jeżeli w wybranym pliku w arkuszu1 w komórce A20 jest słowo "lista" to pobiera mi dane jeżeli niema tego słowa to :MsgBox "W wybranym pliku brak danych", vbInformation

Kod:
Sub kopiuj()
Dim plik As String
Dim skrZrd As Workbook
Dim arkZrd As Worksheet
Dim skrDoc As Workbook

Application.ScreenUpdating = False
plik = Application.GetOpenFilename( _
       FileFilter:="Skoroszyty Excel (*.xls),*.xls", _
       Title:="Wybierz plik")
       
If plik = "False" Then Exit Sub

Set skrDoc = ActiveWorkbook
Set skrZrd = Workbooks.Open(plik)

On Error GoTo brakArkusza
Set arkZrd = skrZrd.Sheets("Arkusz1")
On Error GoTo 0

skrDoc.Sheets("Arkusz1").Range("A1:B10").Value = _
arkZrd.Range("A1:B10").Value

exitFromProc:
skrZrd.Close True
Exit Sub
Application.ScreenUpdating = True
brakArkusza:

MsgBox "W wybranym pliku brak danych", vbInformation

Resume exitFromProc

End Sub
ID posta: 71204 Skopiuj do schowka
 
 
Albercik777 
Excel Expert



Pomógł: 303 razy
Posty: 657
Wysłany: 29-08-2009, 13:04   

Czek something like that:
Kod:
Sub kopiuj()
Dim plik As String
Dim skrZrd As Workbook
Dim arkZrd As Worksheet
Dim skrDoc As Workbook

Application.ScreenUpdating = False
plik = Application.GetOpenFilename( _
       FileFilter:="Skoroszyty Excel (*.xls),*.xls", _
       Title:="Wybierz plik")
       
If plik = "False" Then Exit Sub

Set skrDoc = ActiveWorkbook
Set skrZrd = Workbooks.Open(plik)

On Error GoTo brakArkusza
Set arkZrd = skrZrd.Sheets("Arkusz1")
On Error GoTo 0

If lcase(arkzrd.range("A20").value)="lista" then
  skrDoc.Sheets("Arkusz1").Range("A1:B10").Value = _
  arkZrd.Range("A1:B10").Value
else
  goto brakArkusza
end if

exitFromProc:
skrZrd.Close True
Exit Sub
Application.ScreenUpdating = True
brakArkusza:

MsgBox "W wybranym pliku brak danych", vbInformation

Resume exitFromProc

End Sub
_________________
# Jeżeli istnieją 4 różne możliwości doprowadzenia programu do krachu i wszystkie 4 zablokujesz, wtedy użytkownik znajdzie piątą metodę. Edward Murphy
Pomóż nam sobie pomóc
Co to jest makro? Jak je uruchomić, do czego służy?
ID posta: 71205 Skopiuj do schowka
 
 
nenek 
ExcelSpec


Pomógł: 246 razy
Posty: 540
Wysłany: 29-08-2009, 13:17   

Wielkie dzięki Albercik777, działa :-D

[ Dodano: 2009-08-29, 20:22 ]
Działa ale jednak nie do końca jak wybieram plik w którym jest Arkusz1 ale w komórce
A20 jest inne słowo to wywala mi błąd

Resume exitFromProc

Dało by rade z tym coś zrobić :-(
ID posta: 71206 Skopiuj do schowka
 
 
Albercik777 
Excel Expert



Pomógł: 303 razy
Posty: 657
Wysłany: 30-08-2009, 00:50   

możesz zamienić linię:
Kod:
else
goto brakArkusza
end if

na
Kod:
else
MsgBox "W wybranym pliku brak danych", vbInformation
end if
_________________
# Jeżeli istnieją 4 różne możliwości doprowadzenia programu do krachu i wszystkie 4 zablokujesz, wtedy użytkownik znajdzie piątą metodę. Edward Murphy
Pomóż nam sobie pomóc
Co to jest makro? Jak je uruchomić, do czego służy?
ID posta: 71216 Skopiuj do schowka
 
 
nenek 
ExcelSpec


Pomógł: 246 razy
Posty: 540
Wysłany: 30-08-2009, 13:22   

Dzięki Albercik777, teraz jest OK.
ID posta: 71222 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.