如何快速的將其他文件中的圖片復(fù)制過來?我們要高效的做事點擊上方“Excel和VBA”,選擇“置頂公眾號” 致力于原創(chuàng)分享Excel的相關(guān)知識,源碼,源文件打包提供 一起學(xué)習(xí),一起進步~~ 今天我們來繼續(xù)分享下工作表中圖片的一些操作,也算是工作表這一系列的最后一個章節(jié)了,之后我們將會進入單元格 的相關(guān)操作中,進入我們今天的正題,今天我們要實現(xiàn)的是從其他的Excel文件中將圖片直接插入當(dāng)前工作表中,在之前我們學(xué)習(xí)了批量插入和批量保存,不過如果在保存之后,在插入也是可以的,但是我們今天更加方便一點,如果這個圖片我們只是在工作的時候有需要,那就沒有保存的價值了,直接在做報表的時候,將圖片復(fù)制過來不就好了。當(dāng)然我們不可能手工復(fù)制,我們學(xué)習(xí)VBA的目的就是要高效辦公。 場景說明這是我們之前76節(jié)那篇分享的excel 我們還是那哪一節(jié)的文件來做案例,我們現(xiàn)在有另外一張工作表,我們現(xiàn)在希望將7-76哪一節(jié)的圖片復(fù)制到我們的新的工作表中,并不是全部復(fù)制,僅僅是部分復(fù)制,來看看VBA如何實現(xiàn) 代碼區(qū)Sub 復(fù)制圖片() Dim rng As Range, rng1 As Range, cll As Range Dim rngPN As Range, rngP As Range, rngPN2 As Range Dim shp As Shape, sht As Worksheet, sht1 As Worksheet Set sht = ActiveSheet Set rng = Application.InputBox("請選擇應(yīng)插入圖片名稱的單元格區(qū)域", Type:=8) Set rng1 = rng.Offset(0, 1) With Application.FileDialog(msoFileDialogFilePicker) .Title = "請選擇圖片所在的文件" If .Show = -1 Then Filename = .SelectedItems(1) End If End With Workbooks.Open Filename Set sht1 = ActiveSheet Application.ScreenUpdating = False sht.Activate rng.Parent.Select For Each cll In rng strPN = cll.Text If Len(strPN) Then Set rngPN = sht1.Cells.Find(cll.Value, , , xlWhole) If Not rngPN Is Nothing Then Set rngPN2 = cll.Offset(0, 1) Set rngP = rngPN.Offset(0, 1) rngPN2.RowHeight = rngP.RowHeight rngPN2.ColumnWidth = rngP.ColumnWidth rngPN.Offset(0, 1).Copy rngPN2 End If End If Next cll Application.ScreenUpdating = True End Sub 有一些代碼還是非常的熟悉的,我們先來看看效果 從上面的圖中我們可以看到,不管圖片名稱的順序是否相同,他都可以根據(jù)名稱找到對應(yīng)的圖片,并且自動調(diào)整單元格的大小,以一個更加合適的狀態(tài)展示效果,非常的完美 代碼解析現(xiàn)在來看看我們的代碼 其實并不算是很難,都是將之前的一些基礎(chǔ)知識點匯總在一起來 Set rng = Application.InputBox("請選擇應(yīng)插入圖片名稱的單元格區(qū)域", Type:=8) Set rng1 = rng.Offset(0, 1) With Application.FileDialog(msoFileDialogFilePicker) .Title = "請選擇圖片所在的文件" If .Show = -1 Then Filename = .SelectedItems(1) End If End With 選擇單元格,并且根據(jù)自己的需要選擇所在的Excel文檔的位置,完全是根據(jù)我們自己的需求自己選擇的,非常的方便。 這幾個功能大家都應(yīng)該很了解了。 Workbooks.Open Filename Set sht1 = ActiveSheet Application.ScreenUpdating = False sht.Activate 打開工作薄,激活工作表,常規(guī)操作 在之前我們學(xué)習(xí)的是根據(jù)單元格的大小來設(shè)置圖片的大小,那么今天我們反過來,根據(jù)圖片的大小來設(shè)置單元格的大小 就是這一段,我們來看看動圖的效果 是不是挺簡單的呢 ========================== |
|