Ви можете легко вставляти зображення в електронні таблиці Excel і редагувати їх за допомогою коду макросу. Ось як вставити зображення в клітинку за допомогою VBA в Excel .
Visual Basic for Applications, скорочено 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 . Сподіваємось, стаття буде для вас корисною.