Visual Basic for Application, накратко VBA, е форма на Visual Basic 6, интегрирана в програмите на Microsoft Office. Чрез кодиране VBA ви позволява да автоматизирате задачи в програмите на Office, включително Excel. В някои случаи можете дори да добавите нови функции към Excel с помощта на VBA.

Въпреки че трябва да работите с код, за да използвате VBA, това не означава, че VBA е само букви и цифри. С VBA в Excel можете да създадете макрос, който ви позволява да вмъквате картини в клетка или диапазон от клетки. Прочетете, за да разберете всичко за него!

Как да вмъкнете картина в клетка с помощта на VBA в Excel

За да създадете макрос за вмъкване на картини в клетки на Excel с помощта на VBA, всъщност не се нуждаете от разширени познания за Visual Basic. Всичко, което трябва да направите, е да активирате инструментите за разработчици, да създадете макроса и да поставите правилния код.

Ако обаче се интересувате да научите VBA и да напишете свой собствен код някой ден, ние разбихме VBA кода в третия раздел. Разбира се, вие също можете

instagram viewer
вмъкване на снимки в Excel без използване на VBA. Но тази статия е за това да го направите чрез VBA. Да се ​​залавяме за работа!

За да използвате VBA в Excel, трябва да активирате инструментите за разработчици в Excel. Това ще активира раздела Разработчик в лентата, който е деактивиран по подразбиране.

  1. Отворете Excel.
  2. Отидете на Файл меню.
  3. Кликнете върху Настроики в долната част на екрана. Това ще отвори прозореца с опции на Excel.
  4. В Опции на Excel отидете на Персонализиране на лентата раздел.
  5. Под Основни раздели, проверете Разработчик.

Сега инструментите за разработчици, включително достъпът до VBA, са активирани за вас. Не е необходимо да правите това всеки път, когато искате да използвате VBA в Excel. Инструментите за разработчици ще останат активирани, докато не ги деактивирате.

2. Създаване на макроса и вмъкване на кода

Сега е време да се захванем със създаването на макроса. Като алтернатива можете също създайте бутон с помощта на VBA за тази задача, но ще се придържаме към макроси.

  1. В Excel отидете на Разработчик раздел.
  2. В Код раздел, изберете Макроси.
  3. В новия прозорец въведете име за вашия макрос под Име на макроса. Ще използваме вмъкнете PhotoMacro.
  4. Кликнете Създавайте.

След като щракнете върху Създаване, прозорецът на VBA ще се отвори и ще покаже кода за вашия макрос. В момента кодът ще се състои от два реда: A Под за иницииране на макроса и an End Sub да сложи край.

Нека добавим малко код към този макрос. Добавете следния код между двата реда:

Затъмняване на име на снимка и път Като Вариант
Мътна снимка Като Снимка
photoNameAndPath = Приложение. GetOpenFilename (Заглавие:="Изберете снимка да сеПоставете")
Ако photoNameAndPath = Невярно Тогава Изход Под
Комплект снимка = ActiveSheet. Снимки. Вмъкване (име на снимка и път)
с снимка
.Left = ActiveSheet. обхват("A1").Наляво
.Top = ActiveSheet. обхват("A1").Връх
.Width = ActiveSheet. обхват("A1").Ширина
.Height = ActiveSheet. обхват("A1").Височина
.Поставяне = 1
Крайс

Окончателният ви код трябва да бъде нещо като следното:

Не е нужно да се притеснявате за запазването на напредъка си. Всяка промяна, която правите във VBA, се запазва незабавно.

Сега е време да видите кода в действие.

  1. Затворете прозореца на VBA.
  2. Отидете на Разработчик раздел в Excel.
  3. Изберете Макроси от Код раздел.
  4. Маркирайте макроса, който току-що създадохте.
  5. Кликнете Бягай.

Сега ще се отвори подкана с молба да намерите файла с изображение, който искате да вмъкнете. Изберете вашето изображение и след това щракнете Отворете. Сега трябва да видите снимката си в клетка A1!

Забележете, че вмъкнатата картина е свита, за да пасне на клетка A1. Можете да промените това и също така да промените кода, за да вмъкнете картината в други клетки или дори в диапазон от клетки. В следващия раздел ще разбием кода и ще обясним работещите параметри.

3. Разбиване на кода

За да накарате този VBA код да работи за вас както искате, трябва да го разберете. След като го направите, можете да промените кода, за да вмъкнете снимки във всяка клетка с произволен размер. Ще прегледаме кода малко по малко, за да го направим по-лесен за разбиране.

Sub insertPhotoMacro()
Затъмняване на име на снимка и път Като Вариант
Мътна снимка Като Снимка
photoNameAndPath = Приложение. GetOpenFilename (Заглавие:="Изберете снимка да сеПоставете")
Ако photoNameAndPath = Невярно Тогава Изход Под
Комплект снимка = ActiveSheet. Снимки. Вмъкване (име на снимка и път)
с снимка
.Left = ActiveSheet. обхват("A1").Наляво
.Top = ActiveSheet. обхват("A1").Връх
.Width = ActiveSheet. обхват("A1").Ширина
.Height = ActiveSheet. обхват("A1").Височина
.Поставяне = 1
Крайс
Край Под

След като кодът започне, ние използваме Dim израз за определяне на типа на променливата. Тук имаме две променливи: photoNameAndPath и снимка себе си. Определихме първото като a Вариант а последният като a снимка.

Оттам се изпълнява променливата photoNameAndPath и отваря приложение, за да получи местонахождението на файла с картината. Това става чрез Приложение. GetOpenFileName. The Заглавие параметърът не е задължителен и съдържанието в него се показва като име на прозореца.

Използвайки Ако photoNameAndPath = False, тогава излезте от Sub, уточняваме, че ако бъде даден невалиден или празен адрес, процесът трябва да бъде прекратен. Въпреки това, ако се подаде правилен файл, тогава Задайте снимка = ActiveSheet. Снимки. Вмъкване (име на снимка и път) показва, че картината трябва да бъде зададена като променлива за снимка, която дефинирахме по-рано, и трябва да бъде вмъкната в активната електронна таблица.

Най-накрая използвайки Със снимка и петте реда след него, ние разработваме позиционирането на изображението. .Наляво и .Връх посочете началните места, докато .Ширина и .Височина посочете крайните местоположения. Ако искате да вмъкнете изображението в други клетки или в диапазон, това са редовете, които трябва да промените.

.Поставяне показва дали картината трябва да бъде оразмерена с клетките или да бъде вмъкната в свободна форма. Задаване на 1 ще го оразмери с клетките.

В крайна сметка ние използваме Край с и тогава End Sub за да затворите макроса. Имайте предвид, че можете да промените photoNameAndPath и снимка променливи към всяко друго име, което желаете. Само не забравяйте да запазите имената последователни в целия код.

Правете повече в Excel с VBA

Excel наистина е прекрасен инструмент за организиране и анализиране на данни, но това не означава, че Excel е неспособен, когато става въпрос за графики. Въпреки че снимките и растерните изображения не са най-силната страна на Excel, Excel все още е напълно способен да се справи с тях.

Въпреки че можете да вмъквате картини в Excel с помощта на интерфейса, както бихте направили в други приложения на Office, можете да го направите и с помощта на VBA. С VBA можете да автоматизирате тази задача и дори да я свържете с други задачи, които да се изпълняват едновременно. Възможностите с VBA в Excel са безкрайни.