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] Wczytanie danych z txt do dwóch Combobox'ów

lemar23 04 Lut 2012 19:58 2001 6
REKLAMA
  • #1 10495605
    lemar23
    Poziom 9  
    Posty: 9
    Witam,

    Jak zmodyfikować kod do wczytywania danych z pliku txt aby były wczytane do 2-óch oddzielnych Combobox'ów?
    Przykład w załączniku.

    Program jest narazie na starcie więc jest tylko jeden przycisk opisany kodem, reszta jest w planowaniu.

    Proszę o wyrozumiałość ponieważ jestem początkujący.

    Oto kod:

    Private Sub cmbwczytaj_Click()
       Dim InFile As Integer
            InFile = FreeFile
            plik_txt = Application.GetOpenFilename("Pliki txt(*.txt),*txt")
            
            Open plik_txt For Input As InFile
        While Not EOF(InFile)
            Line Input #InFile, NextTip
       cmbxnum.AddItem NextTip
      
        Wend
        Close InFile
    End Sub
    
    Załączniki:
    • próbka.rar (15.76 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 10495660
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Ponieważ dane które pobierasz masz rozdzielone tabulatorem, wystarczy taka prosta przeróbka:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 10496208
    lemar23
    Poziom 9  
    Posty: 9
    Super :) A jeśli chodzi o wczytanie danych z arkusza np. PRODUKTY (jak w załączniku) do LISTBOXA potrzebna jest zdefiniowana nowa funkcja czy wystarczy prosty kod?

    Dokładniej mówiąc chodzi o przycisk "START" w arkuszu, który odpali program. Obecnie mi odpala program ale chciałbym jeszcze dodać aby ładował dane z wymienionego wyżej arkusza do ListBoxa.

    Zastosowałem prosty kod:

    Kod: text
    Zaloguj się, aby zobaczyć kod
    Załączniki:
    • próbka1.rar (26.69 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #4 10496361
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    W Listboxie możesz ustawić ColumnCount = 5 i RowSource = =PRODUKTY!B2:F46
    Ewentualnie, przy klinięciu przycisku START wczytać dane ręczenie wiersz po wierszu:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #5 10497054
    lemar23
    Poziom 9  
    Posty: 9
    a da się określić szerokość kolumn dla wczytanych danych?
    Bo np nazwy mi nie wyświetla całej tylko ucina minimalnie.
  • Pomocny post
    #6 10497584
    marcinj12
    Poziom 40  
    Posty: 3404
    Pomógł: 1024
    Ocena: 250
    Jak najbardziej, pod jakże tajemniczą właściwością: ColumnWidths. Wpisujesz tam szerokości poszczególnych kolumn rozdzielone średnikiem.
  • REKLAMA
  • #7 10497911
    lemar23
    Poziom 9  
    Posty: 9
    No fakt średnik :)
    Sam sobie klocki pod nogi podrzuciłem, dając przecinek...

    Dzięki za pomoc. Teraz biorę się za przeszukiwanie ListBoxa według danych wczytanych z pliku txt. Pomysł jest teraz tylko aplikacja kodu.

    Jeśli ktoś mógłby mi tylko powiedzieć czy bez problemu jestem w stanie wykorzystać do mojego pliku polecenie FILTER aby przeszukać LISTBOXA.

Podsumowanie tematu

✨ W dyskusji poruszono temat modyfikacji kodu VBA w celu wczytania danych z pliku TXT do dwóch oddzielnych ComboBoxów w Excelu. Użytkownik otrzymał rozwiązanie polegające na użyciu funkcji Split do rozdzielenia danych na podstawie tabulatorów. Dodatkowo, zapytano o możliwość wczytania danych z arkusza do ListBoxa, co również zostało omówione, z propozycją użycia właściwości ColumnCount oraz RowSource. Użytkownik dopytywał o możliwość ustawienia szerokości kolumn w ListBoxie, co zostało potwierdzone jako możliwe za pomocą właściwości ColumnWidths. Na koniec, użytkownik wyraził chęć przeszukiwania ListBoxa przy użyciu polecenia FILTER.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA