ID tematu: 75896
 |
Data zmiany w komórce |
Autor |
Wiadomość |
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 05-06-2024, 06:54 Data zmiany w komórce
|
|
|
Cześć wszystkim
Na początku wspomnę że jestem laikiem w VBA
Potrzebuje stworzyć MAKRO, które będzie pokazywało datę zmiany w konkretnych kolumnach.
Stworzyłem makro które spełnia moje oczekiwania ale mam jeden problem, a mianowicie potrzebuje aby działało ono na większej ilości kolum, a zapis jak poniżej ogranicza mnie z wpisywaniem kolejnych kolumn.
Przypuszczam że trzeba zwiększyć zakres ale niestety wiedzy jak to zrobić już nie posiadam.
Z góry dziękuje za pomoc
Cytat: |
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Or Target.Column = 8 Or Target.Column = 13 Or Target.Column = 18 Or Target.Column = 23 Or Target.Column = 28 Or Target.Column = 33 Or Target.Column = 38 Or Target.Column = 43 Or Target.Column = 48 Or Target.Column = 53 Or Target.Column = 58 Or Target.Column = 63 Or Target.Column = 68 Or Target.Column = 73 Or Target.Column = 78 Or Target.Column = 83 Or Target.Column = 88 Or Target.Column = 93 Or Target.Column = 98 Or Target.Column = 103 Or Target.Column = 108 Or Target.Column = 113 Or Target.Column = 118 Or Target.Column = 123 Or Target.Column = 128 Or Target.Column = 133 Or Target.Column = 138 Or Target.Column = 143 Or Target.Column = 148 Or Target.Column = 153 Or Target.Column = 158 Or Target.Column = 163 Or Target.Column = 168 Or Target.Column = 173 Or Target.Column = 178 Or Target.Column = 183 Or Target.Column = 188 Or Target.Column = 193 Or Target.Column = 198 Or Target.Column = 203 Or Target.Column = 208 Or Target.Column = 213
And Target.Row >= 3 And Target.Row <= 502
Then
If Target.Value = "DONE" Then
Target.Offset(0, 2).Value = Date
Else
If Target.Value = "" Then
Target.Offset(0, 2).Value = ""
End If
End If
End If
End Sub
|
Mateusz |
|
 | ID posta:
435699
|
|
|
 |
|
|
|
minijack
ExcelSpec

Wersja: Win Office 2019
Pomógł: 236 razy Posty: 532
|
Wysłany: 05-06-2024, 08:27
|
|
|
zauważyłem, że kolumny są w stałych odstępach więc może zamiast je wypisywać po kolei zastosować coś takiego:
Kod: |
Private Sub Worksheet_Change(ByVal Target As Range)
Dim K_jed: K_jed = CInt(Right(Target.Column, 1)) 'cyfra jedności w nr kolumny
If K_jed = 3 Or K_jed = 8 And Target.Row >= 3 And Target.Row <= 502 Then
If Target.Value = "DONE" Then
Target.Offset(0, 2).Value = Date
ElseIf Target.Value = "" Then
Target.Offset(0, 2).Value = ""
End If
End If
End Sub
|
|
|
 | ID posta:
435704
|
|
|
 |
|
|
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 05-06-2024, 10:13
|
|
|
Cytat: |
zauważyłem, że kolumny są w stałych odstępach
|
Tak masz rację - co piąta kolumna bedzie sie zmieniać.
Sprawdziłęm to co podesłałeś i wygląd że o taki efekt własnie mi chodziło.
Potestuję z 2 dni i dam znać czyh wszystko "gra i buczy"
Pięknie dziękuję za wsparcie |
|
 | ID posta:
435710
|
|
|
 |
|
|
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 06-06-2024, 07:38
|
|
|
Cześć
No i niestety Makro dzisiaj nie funkcjonuje
Wczoraj jak je wprowadziłęm wyglądało ze jest ok a dzisiaj podczas zmian w komórkach data się nie uzupełnia.
Macie może jakiś pomysł co jest nie tak ?
Dodam ze zrobiłem rano kopię pliku jako backup ale wydaje mi się że to nic nie zmienia bo Makro jest nadal osadzone w oryginale na którym pracuje.
z góry dzieki za wsparcie
Mateusz |
|
 | ID posta:
435739
|
|
|
 |
|
|
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 06-06-2024, 08:12
|
|
|
Co dziwne
W pierwotnym pliku w którym testowałem to Makro wszystko jest OK
W pliku docelowym działó wczoraj a dzisiaj już niekoniecznie
Plik jest zapisany jako z obsługą Makr wiec to można wykluczyć |
|
 | ID posta:
435741
|
|
|
 |
|
|
Tadek
Excel Expert

Wersja: Win Office 2010
Pomógł: 2225 razy Posty: 6125
|
Wysłany: 06-06-2024, 08:21
|
|
|
Podłącz ten plik. |
|
 | ID posta:
435742
|
|
|
 |
|
|
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 06-06-2024, 08:30
|
|
|
plik w załączniku
Przygotowanie wysyłek - Czerwiec 2024 - V2 - wzór.xlsm
|
Pobierz Plik ściągnięto 41 raz(y) 545.81 KB |
|
|
 | ID posta:
435743
|
|
|
 |
|
|
Tadek
Excel Expert

Wersja: Win Office 2010
Pomógł: 2225 razy Posty: 6125
|
Wysłany: 06-06-2024, 09:00
|
|
|
W 3 kolumnie dodałem listę do "Sprawdzania poprawności danych" i makro działa, tak jak chciałeś.
Przygotowanie wysyłek - Czerwiec 2024 - V2 - wzór.xlsm
|
Pobierz Plik ściągnięto 46 raz(y) 549.55 KB |
|
|
 | ID posta:
435744
|
|
|
 |
|
|
matek84
Świeżak

Wersja: Win Office 365
Posty: 6
|
Wysłany: 06-06-2024, 09:36
|
|
|
Coś za mocno pozabezpieczany ten plik bo mogę edytować tylko pierwsze 3 kolumny |
|
 | ID posta:
435745
|
|
|
 |
|
|
Tadek
Excel Expert

Wersja: Win Office 2010
Pomógł: 2225 razy Posty: 6125
|
Wysłany: 06-06-2024, 12:28
|
|
|
Przecież to Twój plik.
Czego nie możesz edytować w pozostałych kolumnach?
Czy skopiowałeś "Sprawdzanie poprawności danych" do pozostałych kolumn ze statusem? |
|
 | ID posta:
435746
|
|
|
 |
|
|
|