Dodawanie tekstu do komórki

Użytkowanie arkusza kalkulacyjnego
johnotto
Posty: 11
Rejestracja: czw paź 16, 2014 1:14 pm

Dodawanie tekstu do komórki

Post autor: johnotto »

Komórka A1 jest pusta. Wpisuję tekst np. "1234", naciskam enter, żeby przejść do komórki niżej, a w komórce A1 pojawia się "1234/2019/4567". Czyli makro kopiuje zawartość komórki A1, dodaje tekst "/2019/4567" i wyświetla całość razem. Jak to zrobić? Rejestrowanie makra tylko podmienia tekst a nie dodaje. Nie mam już pojęcia jak to ma wyglądać.
Ostatnio zmieniony pn lip 08, 2019 3:46 pm przez johnotto, łącznie zmieniany 2 razy.
Apache OpenOffice 4.1.0 * LibreOffice 5.0.4.2
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Dodawanie tekstu do komórki poprzez makro

Post autor: Jermor »

Jeżeli wstawiany tekst jest zawsze taki sam, to nie trzeba korzystać z makra. Należy zastosować własne formatowanie komórki, np takie:
190314170604_1.jpg
190314170604_1.jpg (5.18 KiB) Przejrzano 2723 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
johnotto
Posty: 11
Rejestracja: czw paź 16, 2014 1:14 pm

Re: Dodawanie tekstu do komórki poprzez makro

Post autor: johnotto »

Hmm, kombinowałem na różne sposoby i nie wychodziło. Twój pomysł działa. Dzięki
Apache OpenOffice 4.1.0 * LibreOffice 5.0.4.2
johnotto
Posty: 11
Rejestracja: czw paź 16, 2014 1:14 pm

Re: [SOLVED] Dodawanie tekstu do komórki

Post autor: johnotto »

A jeszcze takie pytanie: w przyszłym roku będzie to "2020/345". Czy można w tym kodzie formatu użyć formuły, albo coś jakoś podobnie to rozwiązać, żeby się to z automatu aktualizowało?
Apache OpenOffice 4.1.0 * LibreOffice 5.0.4.2
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: [SOLVED] Dodawanie tekstu do komórki

Post autor: Jermor »

Żeby to się z automatu aktualizowało to jednak trzeba byłoby napisać makro, tyle, że w takiej sytuacji lepiej byłoby napisać makro na wprowadzanie tego numeru, tak jak to planowałeś na początku.
Pozostaje to aby w nowym roku zmodyfikować kod formatowania i nowe dane formatować wg tego nowego kodu. Nie spowoduje to zmian w danych zapisanych wcześniej.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
johnotto
Posty: 11
Rejestracja: czw paź 16, 2014 1:14 pm

Re: [SOLVED] Dodawanie tekstu do komórki

Post autor: johnotto »

Pojawił się kolejny problem: nie pojawia się ten dodany tekst jeżeli w komórce wpiszę np "234/K2" czyli jakąś literkę. Można ten kod formatu jakoś inaczej zapisać?
Apache OpenOffice 4.1.0 * LibreOffice 5.0.4.2
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Dodawanie tekstu do komórki

Post autor: Jermor »

Nie. Ponieważ kod formatowania dotyczy tylko liczb. Zapis 234/K2 nie jest liczbą tylko zwykłym tekstem a ten nie podlega formatowaniom.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
johnotto
Posty: 11
Rejestracja: czw paź 16, 2014 1:14 pm

Re: Dodawanie tekstu do komórki

Post autor: johnotto »

Czyli rozumiem, że zostaje makro. Póki co mam osobny arkusz w którym wpisuję co potrzeba, za pomocą formuł dane przenoszone są do właściwego arkusza, a tekst zostaje elegancko "sklejony". Nie do końca mi to pasuje. Czy ciężkie będzie takie makro do napisania?
Apache OpenOffice 4.1.0 * LibreOffice 5.0.4.2
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Dodawanie tekstu do komórki

Post autor: Jermor »

Tutaj pojawia się problem zaprojektowania dobrze działającego rozwiązania. On często pojawia się na naszym forum i nie jest to tylko twój przypadek. Zauważ, że najpierw wpisywana miała być tylko liczba, która powinna zostać uzupełniona o dodatkowy ciąg znaków. Kiedy się to udało rozwiązać, okazało się, że ten dodatkowy ciąg znaków może jednak być zmienny, bo pewien fragment tego ciągu to w rzeczywistości rok. W końcu okazuje się, że jednak nie tylko liczba, ale i dowolny inny ciąg znakowy może zostać wpisany.
Czyli makro? Powinno ono po wpisaniu podstawowego tekstu dopisać do niego rok, co łatwo osiągnąć używając odpowiedniej funkcji, w Basicu byłoby to np. YEAR(NOW), i dopisaniu jeszcze jednego stałego członu. W swoim poście użyłeś ciągu 4567.
Gdyby w makrze zmienna NUMER przejmowała zawartość interesującej cię komórki, to powinna zostać obliczona wg następującego wzoru:

Kod: Zaznacz cały

NUMER=NUMER & "/" & YEAR(NOW) & "/" & "4567"
a następnie tak zmodyfikowana zawartość ponownie powinna zostać umieszczona w komórce.
Co będzie, jeśli okaże się, że ta trzecia część będzie się także zmieniała? Trzeba będzie przerobić makro. To nie wszystko. Załóżmy, że w roku 2020 zechcesz wprowadzić zapis dla roku ubiegłego. To się często zdarza, że w styczniu wprowadza się dane za rok ubiegły. Makro na to nie pozwoli, gdyż będzie wpisywało numer roku bieżącego.
Nie wiem, do czego jest ci potrzebny ten „sklejony” numer. Bo jeśli chodzi o pojawienie się go na wydruku, to wystarczy ustawić w odpowiedniej kolejności kolumny zawierające poszczególne części tego numeru, dobierając ich szerokość i wyrównanie. Nie przeszkadza to także w sortowaniu danych.
Możesz także, w jednym arkuszu, użyć trzech kolumn i w czwartej, przy pomocy formuły uzyskać wynikową postać całego kodu, zamiast „ciągnięcia” tego z innego arkusza. Pamiętaj, że w razie potrzeby te trzy pomocnicze kolumny mogą być ukryte. To wydaje się najlepszym rozwiązaniem.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ