procedura vba

Wątek przeniesiony 2024-06-25 13:56 z Inne języki programowania przez cerrato.

SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

Mam pytanie jak napisać procedurę vba w excelu która działała by na zasadzie takiej że jak zmniejszam rozmiar komórki to razem z nią zmniejsza mi się tekst który w niej mam a do tego na końcu tego tekstu pojawiają mi się trzy kropki (...) Np mam tekst Sosnowiec i jak zmniejszę rozmiar to Sosno...,Sosn...,Sos... itd oczywiście jak zwiększę rozmiar komórki to pojawi mi się cała nazwa Sosnowiec bez kropek nie mam pojęcia jak to zrobić

hurgadion
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:www
  • Postów:259
0

Hej,
to nie taka prosta sprawa... Łatwiej jest dostosować szerokość kolumny do tekstu w komórce, to można zrobić z automatu... Natomiast w Twoim przypadku... Można zmniejszyć czcionkę dostosowując jej wielkość do komórki za pomocą funkcjonalności "Format komórki/Wyrównanie/Zmniejszaj aby dopasować"... Można też spróbować dopasować tło części liter do koloru tła komórki... Wtedy osiągniemy podobny efekt do oczekiwanego... Można to zrobić za pomocą małego makra (bez obsługi błędów), wypisuje tylko trzy litery:

Kopiuj
Private Sub Worksheet_Change(ByVal Target As Range)
   Target.Characters(Start:=4, Length:=Len(Target)).Font.Color = Target.Interior.Color
End Sub

Być może da się osiągnąć pewien efekt automatyzacji wyświetlania odpowiedniej ilości liter w zależności od szerokości komórki, ale wymagałoby to przeliczenia dodatkowo paru rzeczy... I raczej banalne to nie jest... to tyle... :)

SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

Dzięki nie znam sie na programowaniu więc nawet nie zdawałem sobie sprawy ile przy tym pracy

hurgadion
wiesz... to zależy dla kogo... no i jaki efekt chcesz osiągnąć... w VBA można zrobić baaardzo dużo... sporo efektów da się też ogarnąć za pomocą formularzy... można nawet napisać grę interaktywną w Excelu... :)
SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

Wiem vba to super sprawa kilka procedur wykorzystałem dla swoich potrzeb niestety gotowców które znalazłem w necie

hurgadion
spokojnie, ja też od tego zaczynałem, i dalej robię często research w sieci... a o Twój problemik nawet musiałem zapytać na excelforum.pl (polecam), bo ja już trochę wypadłem z obiegu Office'owego, ale sporo pamiętam... :)
SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

spoko jak się nie da to nic się nie dzieje widziałem to w jakimś programie którego używam w pracy i mi się spodobało

hurgadion
może da się coś wycisnąć z formatowania... jak Cię bardzo intryguje problem... to napisz posta na mrexcel.com... może zresztą sam to zrobię... jak tam nie będą wiedzieć, to się raczej nie da... :)
SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

Dzięki nie ma problemu :). Udało mi się wyszukać procedurę która na końcu tekstu dodaje ... to już coś:)

hurgadion
to jest akurat proste... :) rzuciłem posta na mrexcel.com, może jakiś guru zamiecie temat... :)
SZ
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:11
0

Dzięki za zainteresowanie tematem :)

hurgadion
spoko, siedziałem w Excelu parę latek, dość intensywnie... potem wyszedłem z tego grajdołka... fajny jest Excel, VBA jeszcze fajniejsze... ale sporo ograniczeń niestety... natomiast Excel jest świetny do w miarę szybkiej obróbki niewielkiej ilości danych... można też porobić jakieś wodotryski, np. automatyczne tworzenie zestawień za pomocą jednego przycisku, itd... :)
hurgadion
nie ma odzewu, więc raczej się nie da... oni tam (chyba) wszystko wiedzą... :) pewnie się jakoś da... ale trzebaby pogrzebać jeszcze w kodzie kodu... niestety jestem za zielony... :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.