Я делаю программу в Excel, которая берет все фотографии из каталога и помещает их в программу.Главное, что мне нужно поместить эти фотографии отдельно и заказать, потому что этот архив будет напечатан и вырезан.
Я пытался создать алгоритм в VBA, который пытается поместить эти фотографии в 5 строк в одной строке, 5 в следующей, 5 в следующей ...
Это выглядело просто,но я не знаю, почему моя программа доставляет мне некоторые проблемы.
Работает, и я обнаружил сбой.Проблема в том, что когда мне нужно изменить строку, первая фотография следующей строки вставляется в то же место, что и последняя фотография последней строки.Я имею в виду, что если бы у меня было 10 фотографий 1,2,3,4,5,6,7,8,9,10, это было бы 1 2 3 4 5 (следующая строка) 6 7 8 9 10
Но я получаю следующее:
1 2 3 4 56 (один код под другим) (следующая строка) 7 8 9 10
Это удивительно для меня, потому что космический резервер дляпервая фотография в следующей строке все еще пуста, но фотография находится в строке перед вставкой другой
Это мой код, который пытается упорядочить изображения:
Count = 0
columna = 2
i = 0
cll = 1
Sheets("Hoja3").Select
For Each celda In rng
If Len(Trim(celda)) > 0 Then
'defino la celda equivalente de la columna A y la selecciono
If columna <= 10 Then
' MsgBox (columna)
Set r1 = Cells(cll, columna)
columna = columna + 2
Else
columna = 2
cll = cll + 2
Set rl = Cells(cll, columna)
columna = columna + 2
End If
r1.Select
'se inserta la imagen de la ruta definida
Set Fotos = ActiveSheet.Pictures.Insert(Ruta & celda.Value)
'con la posición definida respecto a la celda de la columna B seleccionada
With Fotos
.Top = r1.Top
.Width = .Width / 2.5
.Height = .Height / 2.5
.Left = r1.Left + (r1.Width - Fotos.Width) / 3
.ShapeRange.LockAspectRatio = msoFalse
r1.EntireRow.RowHeight = .Height
.Placement = xlMoveAndSize
End With
r1.Select
End If
Next celda