Możesz łatwo wstawiać obrazy do arkuszy kalkulacyjnych Excel i edytować je za pomocą kodu makra. Oto jak wstawić obraz do komórki za pomocą języka VBA w programie Excel .

Visual Basic for Applications, w skrócie VBA, jest formą języka Visual Basic 6 zintegrowaną z programami pakietu Microsoft Office. Poprzez kodowanie VBA umożliwia automatyzację zadań w aplikacjach pakietu Office, w tym w programie Excel. W niektórych przypadkach możesz nawet dodać nowe funkcje do Excela za pomocą VBA.
Nawet jeśli musisz pracować z kodem, aby używać VBA, nie oznacza to, że VBA jest pełen liter i cyfr. Za pomocą języka VBA w programie Excel można utworzyć makro umożliwiające wstawienie obrazu do komórki lub zakresu komórek. Oto, co musisz wiedzieć o wstawianiu obrazków do komórek w Excelu za pomocą VBA.
Jak wstawiać obrazki do komórek za pomocą VBA w Excelu
Aby utworzyć makro wstawiające obraz do komórki Excela przy użyciu języka VBA, naprawdę nie jest potrzebna zaawansowana znajomość języka Visual Basic. Wystarczy włączyć Narzędzia programistyczne, utworzyć makro i wkleić odpowiedni kod. Oczywiście możesz także wstawiać obrazy do Excela bez użycia VBA. Jednak w tym artykule skupimy się na VBA.
1. Włącz Narzędzia programistyczne
Aby korzystać z VBA w Excelu, musisz włączyć Narzędzia programistyczne. Ta czynność spowoduje włączenie na wstążce karty Deweloper, która jest domyślnie wyłączona.
- Otwórz Excela .
- Przejdź do menu Plik .
- Kliknij Opcje u dołu ekranu. Pojawi się okno Opcje Excela .
- W Opcjach programu Excel przejdź do karty Dostosuj wstążkę .
- W kartach głównych zaznacz opcję Deweloper .

Teraz narzędzia programistyczne, w tym dostęp VBA, są włączone. Nie musisz tego robić za każdym razem, gdy chcesz używać VBA w Excelu. Narzędzia programistyczne będą zawsze włączone, dopóki ich nie wyłączysz.
2. Utwórz makra i wstaw kod
- W Excelu przejdź do zakładki Deweloper .
- W sekcji Kod wybierz Makra .
- W nowym oknie wpisz nazwę makra w polu Nazwa makra . W artykule zostanie użyta wstawkaPhotoMacro .
- Kliknij opcję Utwórz .

Po kliknięciu Utwórz otworzy się okno VBA i wyświetli kod Twojego makra. Obecnie kod będzie składał się z 2 linii: Sub , aby uruchomić makro i End Sub , aby je zakończyć.

Dodaj mały kod do tego makra. Dodaj następujący wiersz kodu pomiędzy tymi dwoma wierszami:
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
Ostateczny kod będzie wyglądał następująco:

Nie musisz się martwić o zapisanie tego procesu. Wszelkie zmiany wprowadzone w VBA są natychmiast zapisywane.
Teraz czas zobaczyć kod w akcji:
- Zamknij okno VBA.
- Przejdź do zakładki Deweloper w Excelu.
- Wybierz Makra z sekcji Kod.
- Podświetl właśnie utworzone makro.
- Kliknij Uruchom .
Teraz otworzy się komunikat z prośbą o zlokalizowanie pliku obrazu, który chcesz wstawić. Wybierz zdjęcie, a następnie kliknij Otwórz. Zobaczysz teraz obraz w komórce A1.
Uwaga: Excel zmniejszy obraz, aby zmieścił się w komórce A1. Możesz to zmienić i zmienić kod, aby wstawić obrazy do innych komórek, nawet zakresu komórek. W następnej sekcji oddzielimy kod i wyjaśnimy parametry.
3. Podziel kod
Aby kod VBA działał tak, jak chcesz, musisz go zrozumieć. Robiąc to, możesz zmienić kod, aby wstawić obrazy do dowolnej komórki o dowolnym rozmiarze.
Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub
Na początku kodu instrukcja Dim służy do określenia typu zmiennej. Mamy dwa typy zmiennych: photoNameAndPath i photo . Najpierw zmienna, a potem obraz.
Stamtąd zostanie uruchomiona zmienna photoNameAndPath , która otworzy aplikację w celu uzyskania lokalizacji pliku zdjęcia. Odbywa się to poprzez Application.GetOpenFileName . Parametr Tytuł jest opcjonalny. Zawartość w nim wyświetlana jest jako nazwa okna.
Używając If photoNameAndPath = False then Exit Sub , jeśli podany zostanie nieprawidłowy lub pusty adres, proces się zakończy. Jeśli jednak dostarczony zostanie odpowiedni plik, polecenie Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) wskazuje, że obraz powinien zostać ustawiony jako zmienna zgodnie z pierwotną definicją. Zostanie on wstawiony do aktywnego arkusza.
Na koniec użyj opcji Ze zdjęciem i 5 linii po nim, aby określić lokalizację zdjęcia. .Lewy i .Górny odnoszą się do pozycji początkowej, natomiast .Szerokość i .Wysokość odnoszą się do pozycji końcowej. Jeśli zamierzasz wstawić obrazy do innej komórki lub zakresu, należy zmienić te linie.
.Umieszczenie wskazuje, że rozmiar obrazu powinien zostać zmieniony tak, aby zmieścił się w komórce lub wstawiony w dowolnej formie. Ustawienie wartości 1 spowoduje zmianę rozmiaru zgodnie z komórką.
Na koniec powyższy kod używa End With , a następnie End Sub , aby zamknąć makro. Teraz możesz zmienić zmienne photoNameAndPath i photo na dowolną inną nazwę. Pamiętaj tylko, aby nazwy były spójne w całym kodzie.
Powyżej opisano sposób użycia języka VBA do wstawiania obrazów do komórek w programie Excel . Mam nadzieję, że artykuł będzie dla Ciebie przydatny.