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
ID tematu: 64298 Skopiuj do schowka Automatyczne uzupełnianie kolumn
Autor Wiadomość
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 01-03-2019, 00:14   Automatyczne uzupełnianie kolumn

Cześć,
potrzebuję, żeby arkusz automatycznie wypełniał formuły bez potrzeby odpalania makra, bazując na ostatnim wierszu z kolumny A. Innymi słowy jeśli dodam kolejny wiersz w kolumnie A, wybrana część kolumn Y-AD wypełni się formułami do ostatnio dodanego wiersza.
Znalazłem jakiś kod w internecie, który miał to robić ale niestety nie rozumiem go i nie działa
Będę wdzięczny za pomoc.
Wiem, że można to samo osiągnąć tworząc tablicę, ale chciałbym tego nie robić.
Z góry dzięki za pomoc

testbook.xlsm
Pobierz Plik ściągnięto 25 raz(y) 13.42 KB

ID posta: 363465 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2119 razy
Posty: 7012
Wysłany: 01-03-2019, 07:31   

Zobacz tak:
Kod:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim kom            As Range
    Dim kom_row        As Long
    If Not Intersect(Target, Columns(1)) Is Nothing Then

        Application.EnableEvents = False
        For Each kom In Target
            kom_row = kom.Row
            If VBA.Len(kom.Value) > 0 Then
                Cells(kom_row, 25).FormulaR1C1 = "=RC[-23]*RC[-22]"
                Cells(kom_row, 26).FormulaR1C1 = "=RC[-24]-RC[-23]"
                Cells(kom_row, 27).FormulaR1C1 = "=RC[-25]^2"
                Cells(kom_row, 28).FormulaR1C1 = "=RC[-25]^2"
                Cells(kom_row, 29).FormulaR1C1 = "=RC[-27]+RC[-26]"
                Cells(kom_row, 30).FormulaR1C1 = "=RC[-28]*RC[-27]"
            Else
                Range(Cells(kom_row, 25), Cells(kom_row, 30)).ClearContents
            End If
        Next kom
        Application.EnableEvents = True
    End If

End Sub
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 363473 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 01-03-2019, 08:28   

Można również tak:
Kod:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
     If Not Intersect(Target, Columns(1)) Is Nothing And Target.Count = 1 Then
        Application.EnableEvents = False
             If VBA.Len(Target) > 0 Then
                Range(Cells(2, "Y"), Cells(2, "AD")).Copy Cells(Target.Row, "Y")
             Else
                 Range(Cells(Target.Row, "Y"), Cells(Target.Row, "AD")).Clear
             End If
         Application.EnableEvents = True
     End If
 End Sub
ID posta: 363477 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 01-03-2019, 10:58   

Panowie, ślicznie Wam dziękuję za pomoc, wszystko działa.
Tadek, dzięki ogromne za ten prosty i super uniwersalny kod - jest tylko jeden problem. Po wpisaniu wartości 2 lub 3 kolumnie częściowo/całościowo uzupełnia się reszta kolumn, czyli nie dokońca bazuje tylko na zmianie w 1 kolumnie. Da się coś z tym zrobić?
ID posta: 363491 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 01-03-2019, 12:23   

Da się, ale nie bardzo rozumiem o co chodzi.
Pokaż to w załączniku.
ID posta: 363498 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 01-03-2019, 13:08   

Dobra, dorzucam stary plik Excela z Twoim kodem.
Chciałem, żeby przy wpisywaniu kolejnych pozycji (wierszy) w kolumnie A, kolumny Y:AD uzupełniały się formułami z wierszy powyżej. I tak się dzieje, tj wpisując w A7 dowolną liczbę Y:AD dokładnie to robi. Problem jest taki, że jeśli w załączonym arkuszu komórka A7 pozostaje nieuzupełniona, ale wpiszę wartość w B7 (uzupełnia się kolumna) AA albo C7 (uzupełnia się kolumna AB). Dodatkowo jeśli już uzupełniłem wartości w B7 albo C7 i usunę ich zawartość to formuły z AA/AB (w zależności którą komórkę wcześniej uzupełniłem czy B czy C) nie usuwają się automatycznie. Wszystko działa elegancko dla kolumny A

testbook_v2.xlsm
Pobierz Plik ściągnięto 15 raz(y) 15.44 KB

ID posta: 363503 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 01-03-2019, 16:00   

Dalej to trochę niejasne, a w pliku nic nie pokazałeś.

W załączonym pliku uzupełnij "z palca" formuły w wierszach od 6 do 9 (kolor żółty).

testbook (probny).xlsm
Pobierz Plik ściągnięto 13 raz(y) 15.05 KB

ID posta: 363517 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 01-03-2019, 20:54   

Tadeusz,
formuły działają OK. Jedyny problem skryptu polega na tym, że chcę uzupełniać tylko kolumnę A i żeby kolumny Y-AD wypełniały się z automatu wartościami. I tak się dzieje. Po usunięciu wartości z dowolnej komórki w kolumnie A, rząd się czyści automatycznie - też super. Problem pojawia się gdy omyłkowo wpiszesz wartość w kolumnie B lub C - w pliku zaznaczyłęm te komórki na niebiesko - bez wpisywania niczego w kolumnie a uzupełniły się Y-AD a powinne pozostać bez reakcji, bo kolumna A ma być kolumną "sterującą"

testbook (probny)_v2.xlsm
Pobierz Plik ściągnięto 15 raz(y) 15.42 KB

ID posta: 363526 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 02-03-2019, 07:33   

Przecież tak jest.
Zobacz w załączniku.

testbook (probny)_v2 (2).xlsm
Pobierz Plik ściągnięto 18 raz(y) 14.6 KB

ID posta: 363528 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 02-03-2019, 15:03   

Kurde, teraz rzeczywiście działa wszystko dobrze. Nie wiem czym był problem.
Jeszcze raz ogromne dzięki za pomoc
ID posta: 363537 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 05-03-2019, 13:27   

Zwróciłem uwagę, że makro nie działa w momencie gdy próbuję wklejać wartości w kolumnę. Da się jakoś rozwiązać ten problem?
ID posta: 363670 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 06-03-2019, 08:01   

Jeżeli wklejasz jedną wartość, to działa.
Dla wielu zobacz w załączniku.

testbook (probny)_v2 (3).xlsm
Pobierz Plik ściągnięto 19 raz(y) 15.45 KB

ID posta: 363717 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 11-03-2019, 16:45   

Tadeusz,
potrzebuję jeszcze raz Twojej pomocy. Myślałem, że rozumiem kod, ale chyba nie bardzo....

Próbuję zmienić kod tak, aby kolumną sterującą dodawaniem formuł była kolumna M (zamiast A), tj. 13-sta a formuły kopiowane z 4 wiersza, reszta bez zmian. Zmieniłem kod na ten poniżej ale bez sukcesu..

Kod:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim i&, ost&
    ost = Cells(Rows.Count, "M").End(xlUp).Row
On Error Resume Next
      If Not Intersect(Target, Columns(13)) Is Nothing Then
              If VBA.Len(Target) > 0 Then
                For i = Target.Row To ost
                    If Cells(i, 4) <> "" Then
                        Range(Cells(4, "Y"), Cells(4, "AD")).Copy Cells(i, "Y")
                    End If
                Next
                    Else
                    Range(Cells(Target.Row, "Y"), Cells(Target.Row, "AD")).ClearContents
              End If
     End If
On Error GoTo 0
  End Sub


Będę wdzięczny za pomoc
ID posta: 363962 Skopiuj do schowka
 
 
Tadek
Excel Expert


Pomógł: 1538 razy
Posty: 4868
Wysłany: 12-03-2019, 14:19   

Pokaż to na przykładzie, bo opis trochę nie jasny, np. w wcześniejszym załączniku w kolumnie M nie ma formuł.
ID posta: 364036 Skopiuj do schowka
 
 
kris82 
Starszy Forumowicz


Wersja: Win Office 2003
Posty: 34
Wysłany: 12-03-2019, 17:43   

Tadek, w sumie problem już rozwiązałem i dodałem nową funkcjonalność masowego usuwania zaznaczonych wartości w kolumnie M. Pojawił się za to kolejny problem, może już nie tak dobrze widoczny w pliku tekstowym, bo mało jest kolumn ale czyszczenie formuł z kolumn Y:BB odbywa się bardzo szybko, dodawanie wolniej i excel ma tendencję do zawieszania się po przejściu przez pętlę dodawania. Nie wiem jak się tego pozbyć. Muszę otworzyć sobie innego excela, puścić inne makro, poklikać i arkusz się odblokowuje...

testowy.xlsm
Pobierz Plik ściągnięto 13 raz(y) 20.62 KB

ID posta: 364057 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.
Sprawdź, w jaki sposób przetwarzamy dane osobowe