Skocz do zawartości


Close Open
Close Open
Zdjęcie
- - - - -

Automatyczne odwracanie kolejności wierszy w kolumnie za pomocą VBA

VBA kolejność odwracanie

  • Please log in to reply
No replies to this topic

#1 macer4

macer4

    Adept

  • Forumowicze
  • Pip
  • 1 Postów:

Napisany 17 maj 2018 - 10:16

Witam

Mam w exce'u zeszyt , w którym mam kilka arkuszy/zakładek (cały czas powstają w nim nowe)

chciałem stworzyć makro, które w arkuszu nr 1 (Produkt A)  i  nr 2 (Produkt B) będzie wypisywać listę (prawie wszystkich nazw arkuszy).

Przykładowo zeszyt wygląda tak – nazwy arkuszy w kolejności od lewego:

 

Produkt A II Produkt B II Dostawa lipiec II Dostawa czerwiec II Dostawa maj II Dostawa kwiecień
 

Pomiędzy arkuszami „Produkct B” i „Dostawa lipiec” dopisywane są co miesiąc nowe arkusze z nazwami dostawa_miesiac.
 

Chciałbym więc, aby w arkuszu „Produkt A” wyświetlane były w jednej kolumnie wszystkie nazwy arkuszy poza arkuszem „Produkt B” i samym sobą. I analogicznie w arkuszu „Produkt B” wyświetlane były wszystkie nazwy arkuszy poza arkuszem „Produkt A” i samym sobą.
 

Mam nadzieję, że nie nakręciłem za bardzo.
 

Udało mi się już dojść do tego jak wypisać nazwy wszystkich arkuszy automatycznie:

 

Private Sub Worksheet_Activate()

 For i = 3 To ActiveWorkbook.Sheets.Count

        Range("A4").Offset(i - 3, 0).Value = ActiveWorkbook.Sheets(i).Name

    Next i

 

End Sub

 

Wyświetlanie następuje tak jak chciałem od komórki A4 w dół.
Udało mi się również pominąć wyświetlanie dwóch pierwszych arkuszy.

Wynik wyświetlania zarówno w arkuszu „Produkt A” jak i „Produkt B” jest następujący:

 

A4 - Dostawa lipiec

A5 - Dostawa czerwiec

A6 - Dostawa maj
A7 - Dostawa kwiecień


 

Jest jednak coś czego nie potrafię zmienić otóż wyświetla mi się to w kolejności od zakładki lewej (najmłodszej) do prawej najstarszej. Tak jak powyżej.
 

Potrzebowałbym jednak, aby ta kolejność była odwracana automatycznie - bez manualnego podawania zakresu komórek tzn. od najstarszej do najmłodszej.
 

A4 - Dostawa kwiecień

A5 - Dostawa maj
​A6 - Dostawa czerwiec

A7 - Dostawa lipiec

 

Czy da się coś dopisać/przerobić do mojego kodu, aby automatycznie wyszukiwał koniec zapisanych wierszy w kolumnie A (przy podanym początku zakresu A4) i automatycznie odwracał tę kolumnę, aby kolejność była jaka potrzebuję.
 

Niestety dodanie kolumny z liczbą porządkową obok i sortowanie Z-A po niej odpada.
Zależało by mi, aby robiło to makro.

 

Dodatkowa informacja:
Nazwy dostaw często nie są w porządku alfabetycznym.
W arkuszu „Produkt A” i Produkt B” komórki A1 i A2 są scalone (format tekstowy), komórki A3 to też tekst. Więc odwracanie tabelki powinno być od A4 do ostatniego wykorzystanego wiersza.

 

Rozpisałem się, ale chciałem uściślić co i jak.

Z góry dzięki za pomoc

 






0 Użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników