Witam.
Przeglądałem kilka tematów tu na forum które dotyczyły mojego problemu niestety żaden nie tyczył dokładnie tego co mnie interesuje.
Pracuje jako specjalista ds. transportu w niewielkiej sieci marketów i tworząc plan transportowy dla samochodów musze po skończeniu wpisać tzw zwroty (puste palety, kartony, kosze z butelkami etc). Sklepy zgłaszają te zwroty poprzez platformę internetową dedykowaną dla naszych sklepów wpisując po prostu liczbę miejsc paletowych, które będą potrzebne w samochodzie. My to generujemy w postaci arkusza excel, ktorego potem drukujemy bądź po prostu przenosimy wartosci do ogólnych sklepów. Plan końcowy jest sciśniety praktycznie do 3 komorek tak aby ułatwić magazynowi i kierowcom w ogarnięcie go. I tak. W pierwszej kolumnie jest godzina załadunku w drugiej nazwa samochodu ktory pojedzie w dana trase i w trzeciej sama trasa wypisana w formacie:
sklep_xxx-sklep_yyy-sklep_zzz
Wszystko w jednej komorce. Teraz problemem jest przeniesienie wartosci z raportu ktory w jednej kolumnie ma nazwe sklepu a w kolumnie obok liczbę zgloszonych zwrotow do faktycznego planu. Jest tam kilka reguł jak np wiekszy priorytet w odbiorach niektorych sklepów (niektore musza byc wziete bez wzgledu na to czy pasuje czy nie, a niektore mozna "olac" i wziac w inny dzien), ale to sprawa którą można pominąć i nie będzie to zbytnim problemem.
Probowalem wykombinowac cos z dodatkowym arkuszem i wklejeniem tam tego i skorzystaniu z funkcji Wyszukaj.pionowo z doswiadczenia wiem ze dobre polaczenie funkcji jezeli i wyszukaj.pionowo dziala w takiej sytuacji dosc dobrze. Jest tylko jedno ale... taki sposob działalby dobrze jezeli kazdy sklep byłby w oddzielnej komórce, a na to sobie pozwolić nie mogę. Wiec aktualnie musze kazdy sklep wyszukac w planie wciskajac ctrl+F wpisując tam nazwe sklepu z raportu zwrotow i przy sklepie wpisać liczbę zwrotów. Po skończeniu wygląda to mniej więcej tak:
sklep_xxx(zwrx)-sklep_yyy(zwrx)-sklep_zzz(zwrx)
gdzie x to liczba miejsc paletowych potrzebnych na zwroty.
Zeby to szło z automatu makro powinno znajdowywać wartość w pliku raportów ewentualnie w innym arkuszu gdzie bym zawartosc pliku raportów wkleił do tego arkusza. Normalnie zrobiłbym to z funkcji wyszukaj pionowo, ale jak jest ta skladnia kilku sklepow w jednej komorce to caly moj plan lezy.
Jako, że moja znajomość VB do najlepszych nie należy skorzystałem z narzedzia do "nagrywania" makr offica. Utworzyłem cos takiego:
Szczerze mówiąc robi on to co ma robić. Problem w tym, że nie wiem jak zamienic te:
Cells.Replace What:="sklep_xxx", Replacement:="sklep_xxx(zwr5)" na cos w stylu Cells.Replace What:="A1", Replacement:="A1(zwrA2)"
gdzie A1 to nazwa sklepu z raportu zwrotów a A2 to komórka z odpowiadającym temu sklepowi ilością zgłoszonych zwrotów.
... a potem zapętlić to aby skrypt wykonał się też dla komórek B1:B2, C1:C2, D1:D2 itd.
Dodatkowo nawet jezeli zrobilbym ten plan w oddzielnych komorkach a potem chcial go scalic do jednej komorki to nie znam narzedzia w office, które scalałoby komórki z róznymi wartościami dodatkowo wstawiając między wartosciami z poszczególnych komórek rozdzielnik w postaci np myślnika
Będę wdzięczny za wszelkie sugestie i wskazówki.
Przeglądałem kilka tematów tu na forum które dotyczyły mojego problemu niestety żaden nie tyczył dokładnie tego co mnie interesuje.
Pracuje jako specjalista ds. transportu w niewielkiej sieci marketów i tworząc plan transportowy dla samochodów musze po skończeniu wpisać tzw zwroty (puste palety, kartony, kosze z butelkami etc). Sklepy zgłaszają te zwroty poprzez platformę internetową dedykowaną dla naszych sklepów wpisując po prostu liczbę miejsc paletowych, które będą potrzebne w samochodzie. My to generujemy w postaci arkusza excel, ktorego potem drukujemy bądź po prostu przenosimy wartosci do ogólnych sklepów. Plan końcowy jest sciśniety praktycznie do 3 komorek tak aby ułatwić magazynowi i kierowcom w ogarnięcie go. I tak. W pierwszej kolumnie jest godzina załadunku w drugiej nazwa samochodu ktory pojedzie w dana trase i w trzeciej sama trasa wypisana w formacie:
sklep_xxx-sklep_yyy-sklep_zzz
Wszystko w jednej komorce. Teraz problemem jest przeniesienie wartosci z raportu ktory w jednej kolumnie ma nazwe sklepu a w kolumnie obok liczbę zgloszonych zwrotow do faktycznego planu. Jest tam kilka reguł jak np wiekszy priorytet w odbiorach niektorych sklepów (niektore musza byc wziete bez wzgledu na to czy pasuje czy nie, a niektore mozna "olac" i wziac w inny dzien), ale to sprawa którą można pominąć i nie będzie to zbytnim problemem.
Probowalem wykombinowac cos z dodatkowym arkuszem i wklejeniem tam tego i skorzystaniu z funkcji Wyszukaj.pionowo z doswiadczenia wiem ze dobre polaczenie funkcji jezeli i wyszukaj.pionowo dziala w takiej sytuacji dosc dobrze. Jest tylko jedno ale... taki sposob działalby dobrze jezeli kazdy sklep byłby w oddzielnej komórce, a na to sobie pozwolić nie mogę. Wiec aktualnie musze kazdy sklep wyszukac w planie wciskajac ctrl+F wpisując tam nazwe sklepu z raportu zwrotow i przy sklepie wpisać liczbę zwrotów. Po skończeniu wygląda to mniej więcej tak:
sklep_xxx(zwrx)-sklep_yyy(zwrx)-sklep_zzz(zwrx)
gdzie x to liczba miejsc paletowych potrzebnych na zwroty.
Zeby to szło z automatu makro powinno znajdowywać wartość w pliku raportów ewentualnie w innym arkuszu gdzie bym zawartosc pliku raportów wkleił do tego arkusza. Normalnie zrobiłbym to z funkcji wyszukaj pionowo, ale jak jest ta skladnia kilku sklepow w jednej komorce to caly moj plan lezy.
Jako, że moja znajomość VB do najlepszych nie należy skorzystałem z narzedzia do "nagrywania" makr offica. Utworzyłem cos takiego:
Sub Makro1()
'
' Makro1 Makro
'
' Klawisz skrótu: Ctrl+d
'
Selection.Copy
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Arkusz1").Select
Cells.Replace What:="sklep_xxx", Replacement:="sklep_xxx(zwr5)", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
End Sub
Szczerze mówiąc robi on to co ma robić. Problem w tym, że nie wiem jak zamienic te:
Cells.Replace What:="sklep_xxx", Replacement:="sklep_xxx(zwr5)" na cos w stylu Cells.Replace What:="A1", Replacement:="A1(zwrA2)"
gdzie A1 to nazwa sklepu z raportu zwrotów a A2 to komórka z odpowiadającym temu sklepowi ilością zgłoszonych zwrotów.
... a potem zapętlić to aby skrypt wykonał się też dla komórek B1:B2, C1:C2, D1:D2 itd.
Dodatkowo nawet jezeli zrobilbym ten plan w oddzielnych komorkach a potem chcial go scalic do jednej komorki to nie znam narzedzia w office, które scalałoby komórki z róznymi wartościami dodatkowo wstawiając między wartosciami z poszczególnych komórek rozdzielnik w postaci np myślnika
Będę wdzięczny za wszelkie sugestie i wskazówki.