Excel粘贴为图片重复的列

我已经尝试了一些类似的macrosbuild议的代码。

我需要将列L中的单元格中的信息单独粘贴为列M中的图片。我不想为数百个项目中的每一个手动执行此操作。

这是没有循环或重复的情况。 只做两次手术。

Sub pasteaspicture() pasteaspicture Macro Range("L3").Select Selection.Copy Range("M3").Select ActiveSheet.Pictures.Paste.Select Range("L4").Select Application.CutCopyMode = False Selection.Copy Range("M4").Select ActiveSheet.Pictures.Paste.Select End Sub 

谢谢。

这段代码应该从第3行循环到第L列的结尾,如果这不是你想要的,那么我可以为你编辑它。

 Application.screenupdating = False With ActiveSheet LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row End With For i = 3 To LastRow Range("L" & i).Copy Range("M" & i).Select ActiveSheet.Pictures.Paste.Select Next i Application.screenupdating = true 

这段代码应该可以工作,但是它包含了一个在VBA中不需要的select,但是由于我不知道如何使用图片粘贴,所以我使用了代码作为模板。

这是一个快速(但很长)的方式来做到没有循环。 它设置范围并查找列的最后一行。

你会发现Excel有很多方法来涂抹相同的坚果。 希望这可以帮助。

 Sub CopyPic() Dim lTopRow As Long Dim lLeftColumn As Long Dim lRightColumn As Long Dim lLastRow As Long With Sheets("Sheet1") lTopRow = .Range("L3").Row lLeftColumn = .Range("L3").Column lLastRow = .Range("L:L").Find("*", , xlValues, , xlByRows, xlPrevious).Row lRightColumn = lLeftColumn Application.Goto .Range(Cells(lTopRow, lLeftColumn), Cells(lLastRow, lRightColumn)), scroll:=False Selection.Copy lLeftColumn = .Range("M3").Column lRightColumn = lLeftColumn Application.Goto .Range(Cells(lTopRow, lLeftColumn), Cells(lLastRow, lRightColumn)), scroll:=False .Pictures.Paste.Select End With End Sub