Excel 通过VBA userforms使用一个按钮将多个JPG插入不同的单元格
我正在开发一个非serform,它允许用户将图片作为附件插入到特定的单元格中。到目前为止,一个按钮负责一个特定单元的一张图片。我想知道是否可以多次点击一个按钮,将多张图片插入多个单元格,根据已插入图片的数量更改下一张图片的位置 这是我用于将一张图片插入工作表单个特定单元格的一个按钮的代码:Excel 通过VBA userforms使用一个按钮将多个JPG插入不同的单元格,excel,vba,userform,Excel,Vba,Userform,我正在开发一个非serform,它允许用户将图片作为附件插入到特定的单元格中。到目前为止,一个按钮负责一个特定单元的一张图片。我想知道是否可以多次点击一个按钮,将多张图片插入多个单元格,根据已插入图片的数量更改下一张图片的位置 这是我用于将一张图片插入工作表单个特定单元格的一个按钮的代码: Private Sub CommandButtonUpload_Click() Dim PicLoad As Variant PicLoad = Application.GetSaveAsFilename
Private Sub CommandButtonUpload_Click()
Dim PicLoad As Variant
PicLoad = Application.GetSaveAsFilename
Dim PicPath As String, Pic As Picture, ImageCell As Range
PicPath = PicLoad
Set ImageCell = Worksheets("Example").Range("a62")
Set Pic = Worksheets("Example").Pictures.Insert(PicPath)
With Pic
.ShapeRange.LockAspectRatio = msoTrue
.Left = ImageCell.Left
.Top = ImageCell.Top
End With
End Sub
使用静态变量
PicCount
跟踪已添加的图片数量
Private Sub CommandButtonUpload_Click()
Dim PicLoad As Variant
PicLoad = Application.GetSaveAsFilename
If PicLoad = False Then Exit Sub 'user pressed cancel so exit
Dim PicPath As String
PicPath = PicLoad
Static PicCount As Long
Dim ImageCell As Range
Set ImageCell = Worksheets("Example").Range("A" & cStr(62 + PicCount * 30))
PicCount = PicCount + 1
Dim Pic As Picture
Set Pic = Worksheets("Example").Pictures.Insert(PicPath)
With Pic
.ShapeRange.LockAspectRatio = msoTrue
.Left = ImageCell.Left
.Top = ImageCell.Top
End With
End Sub
这是可能的但你对这个问题的描述是一种宽泛的方式,可以给出更准确的答案。“进入不同的细胞”不够精确。第一个单元格是否总是
A62
,其他“不同”单元格是否在下面?请给出更精确的描述,截图也可能有所帮助我们的想法是使用一个静态计数器,并使用Range.Offset
从原始单元格移动计数器的数量。嘿。是-第一个单元格始终为A62。接下来的图片应该在下面,例如A92,A122。。。在下面30个单元格的恒定间隔内。