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 - dodawanie wiersza w tabelach - VBA makro

kikanek 21 Cze 2018 10:53 12984 15
REKLAMA
  • #1 17288182
    kikanek
    Poziom 10  
    Posty: 26
    Cześć,
    mam problem, otóż w pliku mam dwie tabele o nazwie "TABELA1" i "TABELA2"

    Chce dodać przycisk który będzie pod każdą tabelą a jego funkcją będzie dodawanie kolejnych wierszy (po jednym wierszu)
    Mam takie makro jak poniżej,
    jednak działa tylko dla pierwszej tabeli. Dla drugiej która jest 3 wiersze niżej już nie...
    Jak można to rozwiązać?
    
    Sub WstawWierszTABELA1()
    
    Dim ost&, ile&
    ost = Range("Bytowa2").Rows.Count + 3
    ile = 1
    Rows(ost & ":" & ost + ile - 1).Insert CopyOrigin:=xlFormatFromLeftOrAbove
    
    End Sub
    

    Dzięki za pomoc
  • REKLAMA
  • #2 17288221
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    1. Załączając przykładowy plik z danymi - nie muszą być prawdziwe, ale muszą mieć docelowy uklad danych w arkuszu/arkuszach
    2. Powyższe wyjaśni też dokładnie, czy pisząc o tabelach, masz na myśli listy danych, czy "najzwyklejsze" excelowe tabelki-tabelkowe - listy danych mają dodatkowe polecenia vba do ich obsługi, zwykłe tabelki tylko "standardowe"
  • #3 17288293
    kikanek
    Poziom 10  
    Posty: 26
    Dziękuję za chęć pomocy,
    tabela jest utworzona w excelu poprzez "wstaw tabele"

    w załączniku plik z przykładem

    w docelowej wersji są jeszcze inne tabele niżej dla których też chce zrobić taki przycisk
    Załączniki:
    • tabela.xlsx (16.13 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #4 17288319
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Czyli są to listy, a przecież one "same z siebie" dodają sobie wiersze ... ?
    Planujesz wstawiać coś tylko ręcznie, czy może "jakimś mechanizmem" przenosić do listy/list coś z innego miejsca arkusza/zeszytu ?
  • REKLAMA
  • #5 17288337
    kikanek
    Poziom 10  
    Posty: 26
    Chce aby po przycisku makro dodawało kolejny wiersz w tabeli (nad wierszem "SUMA"). Tak aby każda tabela miała swój przycisk
    Plik wyżej musiałem zapisać xlsx bo xlsm nie przechodziło tutaj.
  • REKLAMA
  • #6 17288392
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Oki, tylko że jeśli postawisz kursor w danej tabeli, to masz już z autoamtu przygotowany pusty wiersz do wprowadzania danych, tak działa lista-tabela.
    EXCEL - dodawanie wiersza w tabelach - VBA makroNowy wiers...tabeli.jpg (22.31 kB)Musisz być zalogowany, aby pobrać ten załącznik.

    1. Czy chodzi ci zatem o to, żeby prócz tego wiersza z gwiazdką, makro wstawiało dodatkowy pusty wiersz, jako "kolejny" (wtedy będą dwa puste, w tym jeden z gwiazdką) ?
    2. Czy wystarczy może tylko, że ustawi kursor w wierszu z gwiazdką (po dokonaniu jakiegoś wpisu i tak pojawi się nowy z gwiazdką) ?
  • #7 17288406
    kikanek
    Poziom 10  
    Posty: 26
    1. Klikam przycisk "Dodaj wiersz"
    2. Makro dodaje jeden wiersz nad wierszem sumy zostawiając formatowania komórek. W tym przypadku numeruje z automatu kolejny wiersz w pierwszej kolumnie a drugi pozostawia pusty

    Uruchom sobie makro które jest w pliku to zobaczysz.
    Problem mam że przy wstawieniu tego makro i przypisaniu w nim zakresu "Tabela2" i tak wstawia mi do pierwszej tabeli
    EXCEL - dodawanie wiersza w tabelach - VBA makro
  • Pomocny post
    #8 17288479
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Masz dwa przykłady, wybierz sobie pasujący lub skoryguj pod własne potrzeby.
    tabela..zip (15.65 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    Przyjrzyj się nazewnictwu przycisków, ale nie temu na samych przyciskach, tylko ich nazwom kodowym - w nazwie każdego z nich znajduje się nazwa tabeli, której dotyczy - to identyfikator:
    EXCEL - dodawanie wiersza w tabelach - VBA makroNazwy przy..ków.jpg (30.06 kB)Musisz być zalogowany, aby pobrać ten załącznik.
  • #9 17288582
    kikanek
    Poziom 10  
    Posty: 26
    Jest super, a powiedz mi jak zrobić taki samo makro "dodaj dodaj wiersz" tak aby na raz dokładało 5 wierszy

    Chciałbym dać jeszcze przycisk do usuwania wierszy jak doda się za dużo
  • Pomocny post
    #10 17289178
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Mała przeróbka makr:
    tabela..zip (18.43 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    Wiersze można dodawać ze ściśle określonego zakresu, który sam sobie ustalasz ("If ilewrs > 10 Then Exit Sub").
    Usuwanie wierszy tylko pojedynczo, od ostatniego, aby zachować porządek.
  • #11 17289912
    kikanek
    Poziom 10  
    Posty: 26
    Jest naprawdę super :)

    Powiedz mi czy jest szansa dodać jakąś linijkę kodu do usuwania, aby nie dało sie usunąć pierwszego wiersza w tabeli?
  • REKLAMA
  • Pomocny post
    #12 17290444
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Szansa (?) ... nie raczej nie ... ale jest taka możliwość ... :) ... aby dodać linijkę kodu, który zabezpieczy przed usunięciem 1-go wiersza, poniżej jedna z możliwości:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    tabela..zip (18.38 kB)Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 17689965
    jend
    Poziom 1  
    Posty: 1
    Mam podobny problem jak kolega.. mam kilkanaście tabel w jednym arkuszu.. potrzebuję dodać do każdej z nich 2 wiersze.. czy jest taka możliwość żeby z automatu pod każdą tabelą wstawić dwa wiersze, w lewej kolumnie żeby wpisał się tekst OD a prawa kolumna miałaby być pusta. Czyli tak jak koledze numerują się kolejno wiersze to zamiast numeracji słowo OD i druga kolumna pusta a w drugim wierszu słowo DO i kolumna pusta. screen w załączniku EXCEL - dodawanie wiersza w tabelach - VBA makro
  • #14 17690285
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    jend napisał:
    ... dodać do każdej z nich 2 wiersze ... z automatu pod każdą tabelą wstawić dwa wiersze ...

    To znaczy, gdzie wstawić ... do tabeli czy pod tabelę ?
    Przygotuj przykład z minimum 3-4 tabelami w arkuszu.
  • #15 17883627
    mario123321123321
    Poziom 1  
    Posty: 1
    chciałbym wykorzystać twoje rozwiązanie z makrem "dodaj dodaj wiersz", ale nie radzę sobie (jestem totalnie zielony w excelu).

    Gdy chcę podpiąć twoje makro wyskakuje mi błąd "Run-time error '9'. Subscript out of range" a po kliknięciu debug wyskakuje mi to:
    EXCEL - dodawanie wiersza w tabelach - VBA makro

    możesz krok po korku napisać jak zaimplementować twoje makro w moim arkuszu?
  • #16 17890684
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Zamieść jakiś miarodajny przykład, który wywołuje ten błąd, może to tylko kwestia odpowiedniej nazwy tabeli (zmienna nazwaTBL), a może co innego.

Podsumowanie tematu

✨ Użytkownik ma problem z dodawaniem wierszy do dwóch tabel w Excelu za pomocą makra VBA. Chce, aby przycisk umieszczony pod każdą tabelą dodawał jeden wiersz nad wierszem "SUMA", ale obecne makro działa tylko dla pierwszej tabeli. W dyskusji pojawiają się różne sugestie dotyczące modyfikacji makra, aby działało dla obu tabel oraz dodawania funkcji usuwania wierszy. Użytkownik prosi również o pomoc w dodaniu możliwości dodawania pięciu wierszy jednocześnie oraz zabezpieczenia przed usunięciem pierwszego wiersza w tabeli.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA