Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2017, 14:09   #1
qwertsalon
Новичок
Джуниор
 
Регистрация: 08.04.2014
Сообщений: 1
Вопрос Макрос AddOlEObject на каждый лист книги.

Здравствуйте. Нашел макрос на просторах интернета для вставки фотографий из заданной папки, в принципе даже апгрейдил его для работы сразу на всех листах:

[vba]
Код:
Sub AddOlEObject()

    Dim mainWorkBook As Workbook

    Set mainWorkBook = ActiveWorkbook
    
    For i = 2 To ThisWorkbook.Sheets.Count 
    
    With Sheets(i)
        
    Sheets(i).Activate
    
    Folder = Range("H2") 
    
    Folderpath = Folder '
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    NoOfFiles = fso.GetFolder(Folder).Files.Count
    
    Set listfiles = fso.GetFolder(Folderpath).Files
    
    For Each fls In listfiles
       
       strCompFilePath = Folder & "\" & Trim(fls.Name) 
        
        If strCompFilePath <> "" Then
            
            If (InStr(1, strCompFilePath, "jpg", vbTextCompare) > 1 _
            Or InStr(1, strCompFilePath, "jpeg", vbTextCompare) > 1 _
            Or InStr(1, strCompFilePath, "png", vbTextCompare) > 1) Then
                 counter = counter + 25 
                Call insert(strCompFilePath, counter - 15)
                Sheets(i).Activate
            End If
        End If
    Next
mainWorkBook.Save
End With
Next
End Sub



Function insert(PicPath, counter)
    
    With ActiveSheet.Pictures.insert(PicPath)
        With .ShapeRange
            .LockAspectRatio = msoTrue
            .Width = 200
            .Height = 375
        End With
        .Left = ActiveSheet.Range("B" & counter).Left 
        .Top = ActiveSheet.Range("B" & counter).Top 
        .Placement = 1
        .PrintObject = True
    End With
End Function
[/vba]

Но я не могу понять что нужно изменить, что бы фотографии на новом листе вставлялись c той же строки как в первом листе, а не с номера последней строки фотографии предыдущего листа.

В принципе всегда находил ответы на форумах (но и пользовался всегда формулами), а вот с макросами не все так просто как оказалось).

Спасибо, заранее!
Вложения
Тип файла: xls Книга1 - копия.xls (25.8 Кб, 9 просмотров)
qwertsalon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. Ples Microsoft Office Excel 8 17.12.2016 18:15
В книге защищен каждый лист. Как быстро снять защиту со всех листов, а потом ее поставить опять? Катик7 Microsoft Office Excel 13 28.04.2011 16:02
Макрос активной книги открывает книги xlsm содержащих auto_open Daren Microsoft Office Excel 0 28.01.2011 09:34
Переход на другой лист книги svetly12 Microsoft Office Excel 1 13.06.2010 14:54
С Книги в Лист valerij Microsoft Office Excel 4 30.06.2009 23:07