Можете лесно да вмъквате изображения в електронни таблици на Excel и да ги редактирате с макро код. Ето как да вмъкнете картина в клетка с помощта на VBA в Excel .
Visual Basic за приложения, съкратено като VBA, е форма на Visual Basic 6, интегрирана в програмите на Microsoft Office. Чрез кодиране VBA ви позволява да автоматизирате задачи в приложения на Office, включително Excel. В някои случаи можете дори да добавите нови функции към Excel с помощта на VBA.
Въпреки че трябва да работите с код, за да използвате VBA, това не означава, че VBA е пълен с букви и цифри. С VBA в Excel можете да създадете макрос, който ви позволява да вмъкнете картина в клетка или диапазон от клетки. Ето какво трябва да знаете за вмъкването на картини в клетки в Excel с помощта на VBA.
Как да вмъкнете картини в клетки с помощта на VBA в Excel
За да създадете макрос, който вмъква картина в клетка на Excel с помощта на VBA, наистина не се нуждаете от разширени познания за Visual Basic. Всичко, което трябва да направите, е да включите инструментите за разработчици, да създадете макрос и да поставите подходящия код. Разбира се, можете също да вмъквате изображения в Excel, без да използвате VBA. В тази статия обаче ще се съсредоточим върху VBA.
1. Включете инструментите за разработчици
За да използвате VBA в Excel, трябва да активирате инструментите за разработчици. Това действие ще активира раздела Разработчик в лентата, който е деактивиран по подразбиране.
- Отворете Excel .
- Отидете в менюто Файл .
- Щракнете върху Опции в долната част на екрана. Ще се появи прозорецът с опции на Excel .
- В Опции на Excel отидете на раздела Персонализиране на лентата .
- В главните раздели отметнете Разработчик .
Сега инструментите за разработчици, включително VBA достъп, са активирани. Не е необходимо да правите това всеки път, когато искате да използвате VBA в Excel. Инструментите за разработчици винаги ще бъдат активирани, докато не ги деактивирате.
2. Създайте макроси и вмъкнете код
- В Excel отидете в раздела Разработчик .
- В секцията Код изберете Макроси .
- В новия прозорец въведете името на вашия макрос в Име на макрос . Статията ще използва insertPhotoMacro .
- Щракнете върху Създаване .
След като щракнете върху Създаване, прозорецът на VBA ще се отвори и ще покаже кода за вашия макрос. Понастоящем кодът ще се състои от 2 реда: Sub за стартиране на макроса и End Sub за края му.
Добавете малко код към този макрос. Добавете следния ред код между двата реда:
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
Крайният код ще изглежда така:
Не е нужно да се притеснявате за запазването на този процес. Всички промени, които правите във VBA, се запазват незабавно.
Сега е време да видите кода в действие:
- Затворете прозореца на VBA.
- Отидете в раздела Разработчик в Excel.
- Изберете Макроси от секцията Код.
- Маркирайте макроса, който току-що създадохте.
- Щракнете върху Изпълнение .
Сега ще се отвори съобщение с молба да намерите файла с изображение, който искате да вмъкнете. Изберете снимката, след което щракнете върху Отвори. Сега ще видите изображението в клетка A1.
Имайте предвид, че Excel ще свие изображението, така че да се побере в клетка A1. Можете да го промените и да промените кода, за да вмъкнете изображения в други клетки, дори в диапазон от клетки. В следващия раздел ще отделим кода и ще обясним параметрите.
3. Разделен код
За да работи VBA кодът така, както искате, трябва да го разберете. Когато правите това, можете да промените кода, за да вмъкнете изображения във всяка клетка с произволен размер.
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
Когато кодът започне, командата Dim се използва за определяне на типа на променливата. Имаме два типа променливи: photoNameAndPath и photo . Първо променливата и след това изображението.
Оттам се изпълнява променливата photoNameAndPath и тя ще отвори приложение за получаване на местоположението на файла със снимка. Това става чрез Application.GetOpenFileName . Параметърът Title не е задължителен. Съдържанието вътре в него се показва като име на прозореца.
Използвайки If photoNameAndPath = False Then Exit Sub , ако е даден невалиден или празен адрес, процесът ще приключи. Въпреки това, ако е предоставен подходящ файл, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) показва, че картината трябва да бъде зададена като променлива, както е дефинирано първоначално. Той ще бъде вмъкнат в активния работен лист.
Накрая използвайте Със снимка и 5-те реда след нея, за да определите местоположението на снимката. .Left и .Top се отнасят за началната позиция, докато .Width и .Height се отнасят за крайната позиция. Ако възнамерявате да вмъкнете изображения в друга клетка или диапазон, това са редовете, които трябва да промените.
.Поставянето показва, че картината трябва да бъде преоразмерена, за да пасне на клетката или вмъкната свободна форма. Задаването му на 1 ще го преоразмери според клетката.
И накрая, горният код използва End With , след това End Sub, за да затвори макроса. Сега можете да промените променливите photoNameAndPath и photo на всяко друго име, което желаете. Само не забравяйте да запазите имената последователни в целия код.
По-горе е как да използвате VBA за вмъкване на изображения в клетки в Excel . Надяваме се, че статията е полезна за вас.