Excel 需要图片上传的via代码帮助吗 Sub Cont_attachthumb() Dim PicFile As FILE对话框 附页2 设置PicFile=Application.FileDialog(msoFileDialogFilePicker) 用PicFile .Title=“选择内容图片” .Filters.Add“所有图片文件”,“.jpg,*jpeg,*.gif,*.png,*bmp”,1 如果.Show-1,则转到NoSelection Sheet2.Range(“R11”).Value=.SelectedItems(1)”将文件名放入R11 以 如果.Range(“B3”).Value=False,则.Range(“M”)和Sheet2.Range(“B2”).Value).Value=.Range(“R11”).Value 继续显示 选择: 以 端接头

Excel 需要图片上传的via代码帮助吗 Sub Cont_attachthumb() Dim PicFile As FILE对话框 附页2 设置PicFile=Application.FileDialog(msoFileDialogFilePicker) 用PicFile .Title=“选择内容图片” .Filters.Add“所有图片文件”,“.jpg,*jpeg,*.gif,*.png,*bmp”,1 如果.Show-1,则转到NoSelection Sheet2.Range(“R11”).Value=.SelectedItems(1)”将文件名放入R11 以 如果.Range(“B3”).Value=False,则.Range(“M”)和Sheet2.Range(“B2”).Value).Value=.Range(“R11”).Value 继续显示 选择: 以 端接头,excel,vba,Excel,Vba,我得到一个运行时错误 对象变量或带块变量未设置错误 您正在使用语句设置2: 1. 带活页2 2. 带有PicFile 一个在另一个内部,即使它们没有连接或必要 第二部分,If.Range(“B3”).Value=False然后.Range(“M”)和Sheet2.Range(“B2”).Value=.Range(“R11”).Value最有可能与Sheet2对象相关,因此它需要在With Sheet2语句中,正如@JNevill在他的评论中所写,您需要将以结尾移动到此行之后 以下代码注释中有更多

我得到一个运行时错误 对象变量或带块变量未设置错误


您正在使用语句设置2
:
1. <代码>带活页2
2. <代码>带有PicFile 一个在另一个内部,即使它们没有连接或必要

第二部分,
If.Range(“B3”).Value=False然后.Range(“M”)和Sheet2.Range(“B2”).Value=.Range(“R11”).Value
最有可能与
Sheet2
对象相关,因此它需要在
With Sheet2
语句中,正如@JNevill在他的评论中所写,您需要将
结尾移动到此行之后

以下代码注释中有更多解释:

修改代码

Sub Cont_attachthumb()
Dim PicFile As FILE对话框
设置PicFile=Application.FileDialog(msoFileDialogFilePicker)
用PicFile
.Title=“选择内容图片”
.Filters.Add“所有图片文件”,“*.jpg,*jpeg,*.gif,*.png,*bmp”,1
如果.Show-1,则转到NoSelection
Sheet2.Range(“R11”).Value=.SelectedItems(1)”将文件名放入R11
以
附页2
如果.Range(“B3”).Value=False,则.Range(“M”)和.Range(“B2”).Value).Value=.Range(“R11”).Value
'将此^row移到末尾上方
以
Cont_displaythum'分隔符似乎不是“,”而是“;”

改变这个

Sub Cont_attachthumb()

Dim PicFile As FileDialog

Set PicFile = Application.FileDialog(msoFileDialogFilePicker)
With PicFile
    .Title = "Select A Content Picture"
    .Filters.Add "All Picture Files", "*.jpg, *jpeg, *.gif, *.png, *bmp", 1
    If .Show <> -1 Then GoTo NoSelection

    Sheet2.Range("R11").Value = .SelectedItems(1) 'Put File Name in R11
End With

With Sheet2
    If .Range("B3").Value = False Then .Range("M" & .Range("B2").Value).Value = .Range("R11").Value
    ' moved this ^ row above the End With
End With

Cont_displaythum ' <-- I hope this is a Sub defined somewhere else

NoSelection:

End Sub


忽略我最后的评论。这个凹痕把我吓坏了。你在哪一行得到这个错误?您的
NoSelection:
块中的
结尾非常奇怪。也许可以将其移到
NoSelection:
行上方,然后重新运行..Title=“选择内容图片”运行时错误91未设置对象变量或with block变量谢谢您的响应,仍然会收到相同的错误错误错误,错误似乎来自:.Title=“选择内容图片”。Filters.Add“所有图片文件”,“.jpg、*jpeg、*.gif、*.png、*bmp”,1如果.Show-1则转到NoSelection@UzeyirChalabi现在重试,在
.jpg
之前缺少一个
*
。仍然会得到一个运行时错误91,对象变量或with block变量未将错误点设置为标题,如果我将其注释掉,错误点会出现在下一行
Sub Cont_attachthumb()

Dim PicFile As FileDialog

Set PicFile = Application.FileDialog(msoFileDialogFilePicker)
With PicFile
    .Title = "Select A Content Picture"
    .Filters.Add "All Picture Files", "*.jpg, *jpeg, *.gif, *.png, *bmp", 1
    If .Show <> -1 Then GoTo NoSelection

    Sheet2.Range("R11").Value = .SelectedItems(1) 'Put File Name in R11
End With

With Sheet2
    If .Range("B3").Value = False Then .Range("M" & .Range("B2").Value).Value = .Range("R11").Value
    ' moved this ^ row above the End With
End With

Cont_displaythum ' <-- I hope this is a Sub defined somewhere else

NoSelection:

End Sub
.Filters.Add "All Picture Files", ".jpg, *jpeg, *.gif, *.png, *bmp", 1
.Filters.Add "All Picture Files", "*.jpg; *.jpeg; *.gif; *.png; *bmp", 1