Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Excel zamiana selection.end(xlDown).select

26 Mar 2020 10:44 132 11
  • Poziom 15  
    cześć ma problem z skryptem przeklejajacym dane z innych plików, w przypadku gdy z jednego pliku przekleja jeden wiersz to dostaje zwrotny komunikat o błędzie 1004.

    Rozumiem, że muszę zamienić

    activeSheet.Past
    selection.end(xlDown).Select
    ActiveCell.Offset(1,0).Range("a1").select
    i=i+1

    na coś bardziej uniwersalngo.

    Może jakaś podpowiedź, zaczynam dopiero z VBA.
  • Poziom 38  
    Może napisz co chcesz zrobić.

    P.S. Dlaczego nie przekleiłeś kodu, tylko przepisałeś ręcznie te 3 linijki?
  • Poziom 15  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 38  
    Do czego to służy:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 15  
    Usunięcie hintu po wklejeniu danych i przejście linijke niżej by tam wklejać dane.
  • Poziom 38  
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Zobacz, co powyższa procedura zrobi.
  • Poziom 22  
    Użyj takiego kawałka:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Albo
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Możesz użyć tak, jak pokazałam, możesz pobrać tylko numer wiersza, itp. Oczywiście to "A" oznacza kolumną w której musisz mieć w każdym wierszu jakieś dane, bo inaczej nie będzie trafiać.
  • Poziom 15  
    Dziękuję, pierwsza metoda działa ok.

    Jednak teraz mam problem z pobieraniem listy plików na dysku sieciowym. Tj skrypt działa w folderze na komputerze, ale już nie na zmapowanym dysku sieciowym.

    odrazu wyrzuca z pentli, bo localization=""
  • Poziom 22  
    Może wystarczy pobrać właściwą ścieżkę? Możesz ją wpisać na sztywno (w postaci np. "\\nazwa1\nazwa2..."), wybrać FolderPickerem, albo co tam jeszcze wymyślisz. Musisz mieć jakiś punkt zaczepienia.
  • Poziom 15  
    Tak tylko muszę to chyba robić przez

    FileSystemObject

    ChDir i ChDriver nie obsługuje lokalizacji sieciowych.
  • Poziom 22  
    Ale po co chcesz robić ChDir? Pisałeś że chcesz pobrać listę plików, więc albo Dir w pętli, albo coś z ADO (używałem, ale nie pamiętam jak się to nazywa, trzeba szukać).
  • Poziom 15  
    ADO korzystałem. Poprosiłem informatyków o zmapowanie dysku sieciowego, przed:

    ChDir ThisWorkbook.Path
    localization = Dir("")

    dodałem:

    ChDrive ThisWorkbook.Path

    i działa.

    Dziękuje za pomoc.