【发布时间】:2018-08-08 17:31:37
【问题描述】:
我正在尝试根据单元格值将图片插入到 Excel 中。单元格值位于图像路径中。我是新人,我所拥有的部分是基于记录宏和部分查找内容。这是我尝试过的......
我在ActiveSheet.Pictures.Insert 行上不断收到错误
Sub Part_Picture()
'
' Part_Picture Macro
'
Dim imageName As String
Dim imageFolder As String
Dim imagePath As String
For Each Cell In Range("B7")
imageName = Cell.Value
imageFolder = "Q:\New Project Part Folders\Elizabeth Delgado\Database pictures\Part\" & imageName
imagePath = imageFolder & ".jpg"
Range("B11").Select
'
ActiveSheet.Pictures.Insert(imagePath).Select
Next Cell
End Sub
【问题讨论】:
-
问题是什么?你想要的代码没有做什么?如果您希望代码将图片放置在工作簿的不同区域,请告诉我们您希望如何插入它们......即 - 每 8 行或其他内容。
-
摆脱所有
.Select的东西,这是宏记录器毒药,通过模仿记录的每一个用户操作来教你错误的东西。例如执行For Each cell In Range("B7:G9"),并声明cell变量(在模块顶部指定Option Explicit) - 然后是的,问一个可以回答的明确问题。 -
@Mat'sMug "macro-recordertoxic" -- 我喜欢这个短语,虽然我可能更喜欢 "crud" 而不是 "poison"(保留 "poison" 以供
On Error Resume Next的一揽子使用)。 -
您到底收到了什么错误信息?它是在第一次迭代时爆炸还是正确处理了几个单元格?
B7:G9中的数据是什么样的?当事情爆发时,imageFolder的价值是多少?请在ActiveSheet.Pictures.Insert指令上设置断点 (F9),运行代码,然后使用 立即窗格 和 locals 调试器工具窗口来帮助您找出问题所在。 -
您的 ImagePath 是否只有名称(没有“.jpg”)?该变量名称有点误导,因为您的代码使它看起来应该是 ImageName。