Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Юрий от 24 июля 2019, 19:25

Название: Excel VBA Макросы: Загрузка случайных рисунков на лист.
Отправлено: Юрий от 24 июля 2019, 19:25
Помогите решить следующую задачу.
Имеются 10 рисунков (с1, с2,...,с10). Необходимо чтобы на лист загружалась одна картинка из 10 в случайном порядке.

Имена файлов нужно указать в коде макроса.
Название: Re: Excel VBA Макросы: Загрузка случайных рисунков на лист.
Отправлено: Администратор от 24 июля 2019, 19:54
1. В коде пунктами помечено, куда вам надо внести изменения.

2. Вверху модуля вставьте эти строки:
Option Explicit
Option Compare Text
Option Base 1

Макрос
Sub Макрос()
   
    '1. В массиве FNs укажите в скобках, сколько рисунков.
    Dim Путь As String, FNs(2)
    Dim случ As Long
   
   
    '2. Здесь укажите полное имя папк, в которой находятся файлы.
        ' На конце не указывайте слеш.
    Путь = "C:\Users\User\Desktop\Рисунки"
   
    '3. Здесь укажите имена файлов.
    FNs(1) = "Chrysanthemum.jpg"
    FNs(2) = "Desert.jpg"
   
    ' Подготовка к работе генератора случайных чисел.
    Randomize
   
    ' Генерирование случайного числа.
    случ = Int((UBound(FNs) - 1 + 1) * Rnd + 1)
   
    ' Вставка на активный лист рисунка.
    ActiveSheet.Pictures.Insert Путь & "\" & FNs(случ)

End Sub
[свернуть]
Название: Re: Excel VBA Макросы: Загрузка случайных рисунков на лист.
Отправлено: Юрий от 24 июля 2019, 19:57
Большое спасибо!