logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel VBA - jak przenieść dane z TextBox1 do innego pliku?

muchajarek 25 Lis 2010 20:42 10102 6
REKLAMA
  • #1 8789260
    muchajarek
    Poziom 10  
    Posty: 57
    Ocena: 1
    Witam. Potrzebuje porady. Mam w folderze kilka plików excela o nazwach np. "jeden" "dwa" itp. W pliku "roboczym" w TextBox1 wpisuje pewne dane i po przycisnięciu przycisku chciałbym aby te dane przeniosły się np. do pliku "jeden" do arkusza "1" do komórki A1. Próbowałem na wiele sposobów między innymi w ten podany poniżej i klapa. Dzięki za pomoc. Bo nie wiem co robię źle.
    Workbook(jeden.xls).Sheets(1).Cells(1, 1) = Me.TextBox1.Value
  • REKLAMA
  • Pomocny post
    #2 8791794
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 658
    A czy dana nie ląduje czasem w innym arkuszu niż zakładasz?
    Sheets(1) to arkusz o indeksie jeden. Jeśli "1" to nazwa arkusza, to posługuj się nazwą Sheets("1")
    Poza tym Workbooks("jeden.xls")
  • REKLAMA
  • #3 8792117
    muchajarek
    Poziom 10  
    Posty: 57
    Ocena: 1
    Dzięki za pomoc.Wszystko OK. Mam jednak pytanie dodatkowe. Podany poniżej kod pozwala zapisywać dane w pliku "jeden" w arkuszu "1" pod warunkiem, że plik "jeden": jest otwarty. Czy możliwe jest zapisywanie danych jeśli plik nie jest w danej chwili otwarty
    Workbooks("jeden.xls").Sheets("1").Cells(1, 1) = Me.TextBox1.Value
  • REKLAMA
  • #4 8792604
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Z tego co mi wiadomo to oprócz zapisu przez ADODB - nie ma takiej możliwości. Musisz go uprzednio otworzyć, choć nie musisz pokazywać:
    Dim xlApp As New Excel.Application
    Set wb = xlApp.Workbooks.Open("c:\dane.xls")
    wb.Worksheets("Arkusz1").Cells(1, 1) = "cośtam"
    wb.Save
    wb.Close
    Set wb = Nothing
    Set xlApp = Nothing

    (ze zaminnej xlApp można zrezygnować, jednak wtedy będzie w tle otwierał plik)
  • REKLAMA
  • #5 8793062
    muchajarek
    Poziom 10  
    Posty: 57
    Ocena: 1
    dzięki za pomoc. Jednak jak wskazuje nazwa "forum dla początkujacych" ja właśnie jestem bardzo początkujący. Użyłem podanego kodu jednak za każdem razem w drugim wierszu wyskakuje błąd.
  • #6 8793396
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    muchajarek napisał:
    dzięki za pomoc. Jednak jak wskazuje nazwa "forum dla początkujacych" ja właśnie jestem bardzo początkujący. Użyłem podanego kodu jednak za każdem razem w drugim wierszu wyskakuje błąd.

    W drugim wierszu czyli tutaj:
    Set wb = xlApp.Workbooks.Open("c:\dane.xls")
    ? A podajesz właściwą ścieżkę do istniejącego pliku? Jakiej wersji Excela używasz?
  • #7 8793815
    muchajarek
    Poziom 10  
    Posty: 57
    Ocena: 1
    TAK, O TEN WIERSZ CHODZI. Używam excel 2003, jeśli o to chodzi. jak mówiłem POCZĄTKUJĄCY

    Nie ma potrzeby KRZYCZEĆ !. Proszę się nie denerwować i traktować z szacunkiem innych użytkowników forum! - arnoldziq

Podsumowanie tematu

✨ Użytkownik poszukuje pomocy w przenoszeniu danych z TextBox1 w pliku Excel do innego pliku, np. "jeden.xls", w arkuszu "1" w komórce A1. Wskazano, że użycie indeksu arkusza (Sheets(1)) może prowadzić do błędów, jeśli "1" to nazwa arkusza, a nie jego indeks. Użytkownik zadał dodatkowe pytanie o możliwość zapisu danych do pliku, gdy ten nie jest otwarty. Odpowiedzi sugerują, że jedynym sposobem na zapis do zamkniętego pliku jest jego wcześniejsze otwarcie za pomocą obiektu Excel.Application, a następnie zapisanie i zamknięcie pliku. Użytkownik napotkał problemy z błędami w kodzie, co wskazuje na potrzebę podania poprawnej ścieżki do pliku oraz wersji Excela (Excel 2003).
Wygenerowane przez model językowy.
REKLAMA