Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

excel VBA - zapisanie danych do innego pliku

muchajarek 25 Nov 2010 20:42 9472 6
  • #1
    muchajarek
    Level 10  
    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
  • Helpful post
    #2
    adamas_nt
    Moderator of Programming
    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")
  • #3
    muchajarek
    Level 10  
    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
  • #4
    marcinj12
    Level 40  
    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)
  • #5
    muchajarek
    Level 10  
    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
    marcinj12
    Level 40  
    muchajarek wrote:
    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
    muchajarek
    Level 10  
    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