Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: SGJ
10-05-2013, 17:45
Automatyczne numerowanie wierszy
Autor Wiadomość
adjustin
słuchacz


Posty: 10
Wysłany: 09-05-2013, 16:07   Automatyczne numerowanie wierszy

Witam,
potrzebuję kod VBA, żeby po otworzeniu arkuszu automatycznie numerowały się wiersze w pierwszej kolumnie. Wiem, że można to robić ręcznie, jednakże interesuje mnie taka opcja, żeby po wpisaniu w następnym wierszu danych, automatycznie był numerowany.
Za pomoc z góry dziękuję.
ID posta: 194922 Skopiuj do schowka
 
 
Zefirek 
Excel Expert



Zaproszone osoby: 2
Pomógł: 476 razy
Posty: 2026
Wysłany: 09-05-2013, 16:09   

Witam
A dlaczego nie formułą wstaw W A2 i przeciągnij w dół ;-)
Kod:
=JEŻELI(B2>0;SUMY.CZĘŚCIOWE(3;$B$1:B$1);" ")
ID posta: 194923 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 209
Pomogła: 259 razy
Posty: 1504
Wysłany: 09-05-2013, 16:45   

Zefirek,
Ale jeśli już - to prędzej:
Kod:
=JEŻELI(B2>0;SUMY.CZĘŚCIOWE(3;$b$1:b1);" ")

Choć moim zdaniem wystarczy:
Kod:
Jeżeli(B2<>"";A1+1;"")
_________________
marzatela

http://www.szultaset.pl
ID posta: 194929 Skopiuj do schowka
 
 
Zefirek 
Excel Expert



Zaproszone osoby: 2
Pomógł: 476 razy
Posty: 2026
Wysłany: 09-05-2013, 16:58   

marzatela, A czym się różnią nasze formuły oprócz tego że twoje małe litery
Excel zmieni na duże to są takie same, a co do drugiej formuły też wystarczy aleeee
taką miałem pod rękami i taką dałem :-)
ID posta: 194931 Skopiuj do schowka
 
 
Kaper 



Zaproszone osoby: 1
Pomógł: 2086 razy
Posty: 3697
Wysłany: 09-05-2013, 17:26   

Myślę, że mamy tu straszny misz-masz. Zatem poczekajmy na wyjaśnienie autora wątku.

Temat jest w dziale mam problem z formułą, ale w treści mamy wyraźnie VBA. (a być może, tak naprawdę, powinien być w dziale Zadania).

Poza tym w treści są dwie sprawy
- automatyczne numerowanie po otworzeniu skoroszytu (nie ma czegoś takiego jak otwieranie arkusza :-P )
- automatyczne numerowanie po dopisaniu nowych danych

Pierwsze zagadnienie -> procedura obsługi zdarzenia Workbook_Open w module ThisWorkbook
Drugie -> Procedura obsługi zdarzenia Worksheet_Change w kodzie danego arkusza.

Przykładów setki na forum.

Pozdrawiam,
_________________
Kaper Jej Królewskiej Mości :boss

WARNING!!! Your system /dev/null is already 98% full

Ciało Pinokia leżało na ziemi, a nad nim, w złowieszczym kluczu, krążyły dzięcioły
ID posta: 194937 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 209
Pomogła: 259 razy
Posty: 1504
Wysłany: 09-05-2013, 17:36   

Zefirek, U Ciebie jest jeden znak $ więcej. Po przeciągnięciu w dół - nadal będzie to $B$1:B$1
Choć Kaper ma rację - znowu bardziej domyślamy się o co chodzi autorowi wątku niż to wiemy.
_________________
marzatela

http://www.szultaset.pl
ID posta: 194941 Skopiuj do schowka
 
 
Zefirek 
Excel Expert



Zaproszone osoby: 2
Pomógł: 476 razy
Posty: 2026
Wysłany: 09-05-2013, 17:48   

marzatela, masz rację ślepota zemnie ma być
Kod:
=JEŻELI(B2>0;SUMY.CZĘŚCIOWE(3;$B$1:B1);" ")
ID posta: 194942 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 209
Pomogła: 259 razy
Posty: 1504
Wysłany: 09-05-2013, 18:32   

Zefirek, gdyby mi zdarzały się tylko takie pomyłki :lol:
_________________
marzatela

http://www.szultaset.pl
ID posta: 194945 Skopiuj do schowka
 
 
adjustin
słuchacz


Posty: 10
Wysłany: 10-05-2013, 15:48   

Witam,
przeczytałem uważnie powyższe posty. Więc sprostuję:
Nie chodzi mi o formułę (tak jak zostalo to napisane: "dział formuły"). Interesuje mnie kod VBA, który wkleiłbym do WORKSHEET (chyba dobrze napisałem - chodzi mi dokładnie o jeden, konkretny arkusz). W momencie, gdy wpisuję dane w komórce B1, komórka A1 zostaje numerowana, Komórka B2 ... Jednakże, numerowanie wierszy w kolumnie A chciałbym tylko w momencie, gdy sąsiedni wiersz kolumny B zostanie wypełniony.
ID posta: 195057 Skopiuj do schowka
 
 
Zefirek 
Excel Expert



Zaproszone osoby: 2
Pomógł: 476 razy
Posty: 2026
Wysłany: 10-05-2013, 15:51   

Ta formuła własnie tak działa :-P
i nie bardzo rozumiem po jakiego grzyba używać VBA do tak prostego problemu.
Zobacz załącznik

lp.xlsx
Pobierz Plik ściągnięto 66 raz(y) 10.25 KB

ID posta: 195058 Skopiuj do schowka
 
 
SubExc 
ExcelSpec



Pomógł: 135 razy
Posty: 387
Wysłany: 10-05-2013, 16:25   

Kod:

Sub bleble()
Dim cell As Range
Dim licznik As Long
Dim LastB As Long, LastA As Long, Last As Long


LastB = Range("B" & Rows.Count).End(xlUp).Row
LastA = Range("A" & Rows.Count).End(xlUp).Row
Last = Application.WorksheetFunction.Max(LastA, LastB)
licznik = 1

    For Each cell In Range("A1:A" & Last)
        If cell.Offset(0, 1) <> "" Then
            cell = licznik
            licznik = licznik + 1
        Else
            cell = ""
        End If
    Next
End Sub
_________________
"Komputer służy do tego aby ułatwić ci pracę, której bez niego w ogóle byś nie miał"
ID posta: 195063 Skopiuj do schowka
 
 
adjustin
słuchacz


Posty: 10
Wysłany: 10-05-2013, 17:15   

Wielkie dzięki. O to mi chodziło.
Po co potrzebuję: robię dość zautomatyzowaną :)) książkę nadawczą, gdzie użytkownik klika tylko wybierz nadawcę i adresata. Użyłem do tego okien dialogowych. Posłużyłem się też funkcją WYSZUKAJ.PIONOWO, która zwraca wartości w formie liczb. Liczby te, są kolejnymi numerami nadawców i adresatów. Jednakże chcąc (w momencie dodawania kolejnego nadawcy lub adresata) mieć listę wyboru w oknie dialogowym składającą się tylko z realnych wpisów, a nie pustych komórek , potrzebuję powyższy kod. Wiem wiem... prawdopodobnie moje powyższe wytłumaczenie jest do bani, ale czasami sam siebie nie rozumiem :))))
Ale z góry dziękuję za pomoc !!!

Ale jeszcze jedna prośba (może źle sprecyzowałem): a jak by wyglądał ten kod, żeby numeracja pokazywała się zaraz po wpisaniu danych w kolumnę B?

oraz:
jak zrobić, żeby w tabeli formatowania warunkowego, po dodaniu wpisu w nowym wierszu, automatycznie zostały posortowane dane. Wydaje mi się, że to ostatnie pytanie chyba nie należy do tego działu forum, ale warto spróbować :)
ID posta: 195069 Skopiuj do schowka
 
 
SubExc 
ExcelSpec



Pomógł: 135 razy
Posty: 387
Wysłany: 10-05-2013, 17:32   

Tak jak wspomniał Kaper za wywoływanie kodu po zmianie czegoś w arkuszu odpowiada zdarzenie worksheet_change.... Więc tam należałoby umieścić kod...
_________________
"Komputer służy do tego aby ułatwić ci pracę, której bez niego w ogóle byś nie miał"
ID posta: 195075 Skopiuj do schowka
 
 
adjustin
słuchacz


Posty: 10
Wysłany: 10-05-2013, 17:42   

OK. Działa. WIELKIE DZIĘKI !!!!!
ID posta: 195077 Skopiuj do schowka
 
 
colpix
Fan Excela


Pomógł: 19 razy
Posty: 93
Wysłany: 21-11-2013, 12:15   

Witam,
Korzystam z kodu dodanego przez SubExc (za co dziękuję), z tym, że umieściłem go w Worksheet_SelectionChange, ponieważ w Worksheet_Change, excel mi się „zawiesza”. To jest pierwszy mój „problem”. Drugi "problem" jest taki, że w kodzie w linijce
Kod:
For Each cell In Range("A1:A" & Last)
w załączonym skoroszycie w arkuszu „źle” zmieniłem zakres z A1 na A7. Po usunięciu wiersza A7 w komórce A6 zmienia mi się wartość na 1. Poradziłem sobie w sposób przedstawiony w arkuszu „dobrze”(wstawiłem dodatkowy wiersz), ale zastanawiam się czy da się to jakoś na etapie kodu poprawić.
Plik w załączeniu.
Za wszelką pomoc z góry dziękuję

numeracja.xlsm
Pobierz Plik ściągnięto 43 raz(y) 131.14 KB

_________________
Nie jestem leniwy, jestem energooszczędny
Pozdrawiam
colpix
ID posta: 210912 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum


Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.