Witam.
Poszukuję makra, które automatycznie będzie automatycznie aktualizowało ilość produktów na magazynie.
Mam w osobnym arkuszu kilka tabel, w których mam podane nazwy produktów oraz ich ilości. Chciałbym, aby po wyborze z listy rozwijanej, w dowolnym arkuszu, stan wybranego produktu sam sie aktualizował. Dodam, iż na chwilę obecną są tylko 3 tabele o różnych ilościach kolumn. W przyszłości będzie ich więcej, więc zależy mi na łatwej edycji(dodawaniu kolejnych tabel z produktami oczywiście ręcznie), oczywiście ilość towaru też będzie uzupełniana ręcznie.
Na zdjęciu widać część, która mnie interesuje. Po lewej lista rozwijana, po prawej jedna z tabel znajdująca się na innym arkuszu, tu podane są ilości.
Po wybraniu pozycji, w tabeli z ilościami następuje aktualizacja.
Tak jak pisałem wcześniej, ponieważ stany magazynowe będą się zmieniać zależy mi, by ewentualne makro, było łatwe w edycji w razie konieczności.
Przyznam się też, iż makra to dla mnie czarna magia i an tyle na ile udało mi sie samemu stworzyć arkusz, na tyle dałem radę niestety to już jest ponad moje siły
Makro do autoaktualizacji stanów magazynowych
Makro do autoaktualizacji stanów magazynowych
OpenOffice 3.1 na Windows Vista
Re: Makro do autoaktualizacji stanów magazynowych
Ja bym zrobił tak:
Punkt 2 wymaga napisania jednej procedury. Niżej bardzo zgrubny szkic. Zakładam istnienie dialogu o nazwie MojDialog, w którym jest pole kombi o nazwie MokaListaCombo oraz pycisk zatwierdzający formularz.
- za pomocą narzędzi Calca (Narzędzia/Makra/Zarządzaj oknami dialogowymi) zaprojektował formularz dialogowy, który służyłby do wyboru towaru.
- napisał makro, które wywoływałoby ten dialog, po czym wpisywałoby do bieżącej tabeli dane o wybranym towarze i jednocześnie zdejmowałoby go ze stanu w magazynie (szkic załączam niżej).
- przypisał skrót klawiszowy do wywołania formularza.
Punkt 2 wymaga napisania jednej procedury. Niżej bardzo zgrubny szkic. Zakładam istnienie dialogu o nazwie MojDialog, w którym jest pole kombi o nazwie MokaListaCombo oraz pycisk zatwierdzający formularz.
Kod: Zaznacz cały
Sub Test()
d = thisComponent ' operujemny na bieżącym arkuszu
src = d.Sheets.getByIndex(0) ' pierwszy arkusz zawiera listę towarów
n = 100 ' tyle towarów
trg = d.currentController.getActiveSheet() ' wybrany kowar dopsiujemny do listy w bieżącym arkuszu
if src.Name <> trg.Name then ' jeżeli bieżący jest inny niż lista bazowa
rem tworzymy listę elementów dla pola kombi
dim zakres(n) as string
for i = 0 to n
zakres(i) = src.getCellByPosition(0,i+1).getString()
next i
rem x będzie wybranym elementem z listy
x = wybor(zakres)
if x <> "" then ' dokonano wyboru
rem wpisz X do listy trg
rem zmniejsz licznik odpowiadający X w liście src
endif
endif
End Sub
function Wybor(zakres as array) as variant
libStd = DialogLibraries.getByName("Standard")
libDlg = libStd.getByName("MojDialog")
dlg = CreateUnoDialog(libDlg)
combo = dlg.getcontrol("MojaListaCombo")
combo.text = "<wybierz>"
combo.additems(zakres,0)
if dlg.execute() then
ok = combo.text
else
ok = ""
endif
dlg.dispose()
Wybor = ok
End function
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Makro do autoaktualizacji stanów magazynowych
Odświeżam.
Próbuję dopasować to makro do swoich potrzeb ale mi nie wychodzi. Wogóle nie mam pomysłu jak zmniejszać ilość produktów w magazynie.
Jest trzy listy, czy jest możliwość żeby wybierać z jednej z nich?
Dodatkowo chciałbym zrobić tak że jak stan magazynowy równy jest zero ( tło jest na czerwono)to żeby towar wpisał się na początku arkusza u góry do zamówienia.
Może ktoś podpowie jak to uruchomić
W załączniku próbny magazyn
Pozdrawiam
Próbuję dopasować to makro do swoich potrzeb ale mi nie wychodzi. Wogóle nie mam pomysłu jak zmniejszać ilość produktów w magazynie.
Jest trzy listy, czy jest możliwość żeby wybierać z jednej z nich?
Dodatkowo chciałbym zrobić tak że jak stan magazynowy równy jest zero ( tło jest na czerwono)to żeby towar wpisał się na początku arkusza u góry do zamówienia.
Może ktoś podpowie jak to uruchomić
W załączniku próbny magazyn
Pozdrawiam
- Załączniki
-
- magazyn.ods
- (26.2 KiB) Pobrany 246 razy
Apache OpenOffice 4.1.4, Windows 8.1