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

[Excel, VBA] Zapis zdefiniowanego akrusza to pliku txt w bierzącej lokalizacji

si-bol 18 Cze 2015 20:39 1032 3
  • #1 18 Cze 2015 20:39
    si-bol
    Poziom 7  

    Witajcie,
    Potrzebuje wykonać makro które:
    Będąc w Arkuszu1 po zastosowaniu makra, zapisywało wszystkie niepuste komórki Arkusza2 (zakres A:A) o nazwie pobranej z komórki (B3) Arkusza3 do pliku tekstowego który zostanie utworzony w tej samej lokalizacji co otwarty dokument excela z obsługą makra. Po wykonaniu makra w Arkuszu1 np. w komórce C5 pojawia się komunikat: "wygenerowano".

    Niestety jestem laikiem w VBA... Udało mi się utworzyć plik txt o określonej nazwie lecz potem przestał się generować w lokalizacji tylko w moich dokumentach. Tak samo nie umiem zdefiniować by zapisywało arkusz bez jego wyboru.
    Proszę o pomoc ;/

    0 3
  • #2 18 Cze 2015 21:44
    JRV
    Specjalista - VBA, Excel

    Zmiana dysku do lokalizacji co otwarty dokument

    Code:
    ChDrive ThisWorkbook.Path 

    Zmiana folderzu do lokalizacji co otwarty dokument
    Code:
    ChDir ThisWorkbook.Path 

    1
  • #3 18 Cze 2015 23:49
    si-bol
    Poziom 7  

    Ok pomogło,
    A jak teraz zrobić odniesienie do konkretnego arkusza by jego generowała nie aktywny ?
    Kolejny problem jest taki że jeżeli wygeneruje plik txt to tym samym używany plik xlsm staje się nim i pyta o zapisywanie po zamknięciu. Rozumiem że muszę zastosować coś takiego : fs.CreateTextFile
    - ale jak mam wprowadzić by nazwę pliku pobierał z komórki B3 Arkusza 3.
    - jak też sprecyzować zakres by nie generował całego arkusza tylko komórki z danymi w zakresie A:A

    0
  • #4 19 Cze 2015 06:21
    JRV
    Specjalista - VBA, Excel

    Można nagrać plik i programem Excel, tylko nie mam pomysłu typu danych.
    segment programu

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    Jeśli masz przykład pliku Excel, to byłoby jaśniejsze

    0