Niniejsze rozwiązanie znane jest wielu praktykom VBA, szczególnie tym osobom, które wysyłają fragmenty arkusza w postaci grafiki wstawionej w wiadomości e-mail.
Jak wyglądać będzie makro, którego zadaniem będzie zapisanie utworzenie pliku graficznego JPG prezentującego fragment obszaru arkusza? Pełne rozwiązanie poniżej. W tym wypadku wszystkie dodatkowe komentarze zostały umieszczone poniżej.
06 | Application.ScreenUpdating = False |
09 | Set SHT = Sheets( "Arkusz1" ) |
12 | Set RNG = SHT.Range( "A1:D5" ) |
14 | RNG.CopyPicture Appearance:=xlScreen, Format:=xlPicture |
18 | szerokość i wysokość wykresu- taki zapis pozawala _ |
19 | zachować proporcje naszego obszaru |
20 | With SHT.ChartObjects.Add(Left:=100, Top:=100, _ |
21 | Width:=RNG.Width, Height:=RNG.Height) |
27 | .Export ThisWorkbook.Path & "\TabelaExport.jpg" |
I jeszcze dwa obrazy graficzne na koniec- zrzut ekranu z naszą tabelą, która została poddana procesowi exportu oraz plik, który powstał w wyniku działania powyższego makra.
Witam,
OdpowiedzUsuńA czy istenie sposob zeby zapisac wiele arkuszy do pilow jpg w jednym makrze? powiedzmy 40 arkuszy i aby stworzylo 40 plikow o takim samym zakresie komorek.
Panie Rafale,
OdpowiedzUsuńoczywiście, wystarczy 'podłączyć' powyższy mechanizm pod prostą pętle For...Next. Tym bardziej jest to proste w sytuacji, gdy chce Pan zachować ten sam układ zakresu komórek.