Skocz do zawartości


Close Open
Close Open
Zdjęcie
- - - - -

zaciąganie danych z innego arkusza Excel

VBA basic Excel Model obiektowy kopiownie

  • Please log in to reply
No replies to this topic

#1 [email protected]

[email protected]

    Adept

  • Forumowicze
  • Pip
  • 1 Postów:

Napisany 11 August 2020 - 08:23 AM

Witam,

Piszę do pracy makro, które ma zaciągać dane z innego arkusza Excela (dane wyeksportowane do Excel z innego programu do pliku "Zeszyt1") i potem je filtrować. Problem polega na samym dostępie do wyeksportowanych danych: Poniższe makra to dwie różne próby rozwiązania problemu - działają pod warunkiem wykonania w prawidłowej kolejności poniższych czynności: 1 program excel zamknięty, 2 eksport danych do "Zeszyt1", 3 odpalenie pliku filtrującego i uruchomienie makra. Jeżeli inny plik Excela będzie w tym czasie otwarty, lub zeszyt 1 zostanie wyeksportowany po uruchomieniu pliku sortującego wyświetla się komunikat "Subscript out of range". Ponadto problem występuje czasem mimo wykonania czynności  w podanej kolejności, nie potrafię określić dlaczego. Czy jest możliwość obejścia tego problemu, żeby móc korzystać z tego pliku wielokrotnie po 1 uruchomieniu i bez zamykania innych arkuszy?

 

Sub kopiuj()
    Windows("Zeszyt1").Activate
    Sheets("Arkusz1").Range("B2:C2").Select
    Sheets("Arkusz1").Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ThisWorkbook.Activate
    Sheets("Sortowanie oznaczników").Activate
    Range("A1").Select
    ActiveSheet.Paste
End Sub
 
Sub test()
Dim i As Integer
    For i = 1 To 1000
        If Application.Workbooks("Zeszyt1").Worksheets("Arkusz1").Cells(i, "B").Value Like "*-Q*" Then
            Application.Workbooks("Zeszyt1").Worksheets("Arkusz1").Cells(i, "B").ClearContents
        End If
    Next
End Sub

 

Z góry dziękuję za pomoc.






0 Użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników