Привет. Я хочу выбрать изображение из файла с помощью кнопки команды, затем изображение будет вставлено в активную ячейку, а размер ячейки изменится в соответствии с размером изображения.
Любая помощь, пожалуйста Используя Excel VBA в этом коде, я хочу защитить ячейку в коде, вместо этого я хочу вставить в текущую активную ячейку, также, когда я вставляю новое изображение в другую ячейку, предыдущее изображение удаляется, что я не хочу бывает.
Sub Resize_Cell_from_Picture_Size()
Const maxH = 409.5 ' << max row height = 409.5/by default
Const picName As String = "pic-01" '<< picture name
Dim cel As Range
Set cel = [B2] ' << target cell in active sheet
Dim nH
Dim nW
Dim nPix
Dim x
On Error Resume Next
Dim fPath As String
With Application.FileDialog(msoFileDialogFilePicker)
If .Show = True Then
ActiveSheet.Pictures(picName).Delete
fPath = .SelectedItems(1)
Set p = ActiveSheet.Shapes.AddPicture(fPath, False, True, cel.Left, cel.Top, -1, -1)
With p
.Name = picName
nH = .Height
nW = .Width
End With
If nH > maxH Then
MsgBox "wrong, picture's height is > " & maxH
p.Delete
Exit Sub
Else
cel.RowHeight = nH
nPix = nW / 0.75
x = (nPix - 12) / 7
nW = Round(x + 1, 2)
cel.ColumnWidth = nW
p.Placement = xlMoveAndSize
cel.Select
End If
Else
MsgBox "cancel"
End If
End With
On Error GoTo 0
End Sub