我通過在同一個Excel文件中複製和粘貼形狀來解決問題。將形狀複製並粘貼到其他工作表並將其調整爲單元格大小
我在一個Excel文件中有兩張表格,在表格「表格1」中只有一張圖片,我假設自動獲取名稱爲「圖片1」。我想複製此圖片並將其粘貼到名爲「概述」的表單中,該表單與「表格1」位於同一個Excel文件中。我想將此圖片粘貼到單元格A1,我希望它適合單元格大小,並且不會比單元格A1大。
我該怎麼做?
我通過在同一個Excel文件中複製和粘貼形狀來解決問題。將形狀複製並粘貼到其他工作表並將其調整爲單元格大小
我在一個Excel文件中有兩張表格,在表格「表格1」中只有一張圖片,我假設自動獲取名稱爲「圖片1」。我想複製此圖片並將其粘貼到名爲「概述」的表單中,該表單與「表格1」位於同一個Excel文件中。我想將此圖片粘貼到單元格A1,我希望它適合單元格大小,並且不會比單元格A1大。
我該怎麼做?
Dim pasteCell As Range
Set pasteCell = Sheets("Overview").Range("A1")
Sheets("Tabelle1").Shapes("Picture1").Copy
Sheets("Overview").Paste pasteCell
Sheets("Overview").Shapes(1).Height = pasteCell.Height
Sheets("Overview").Shapes(1).Width = pasteCell.Width
假設總覽頁上沒有圖像。
您忘記了'.top'和'.left'屬性的形狀(在A1中)。 –
看起來像編輯它的人刪除它,我沒有意識到^^再次添加表格(「概述」)。粘貼pastecell而不是表格(「概述」)。 – gizlmo
Option Explicit
Sub Copy_Shape()
Dim Sh1 As Worksheet
Dim Sh2 As Worksheet
Dim PasteCell As Range
Dim Pic1 As Shape
Dim Pic2 As Shape
With ThisWorkbook
Set Sh1 = .Sheets("Tabelle 1")
Set Sh2 = .Sheets("Overview")
End With
Set Pic1 = Sh1.Shapes("Picture 1")
Pic1.Copy
With Sh2
.Paste
Set Pic2 = .Shapes(.Shapes.Count)
Set PasteCell = .Cells(1, 1)
End With
With Pic2
.Height = PasteCell.Height
.Width = PasteCell.Width
.Top = PasteCell.Top
.Left = PasteCell.Left
End With
Set Pic1 = Nothing
Set Pic2 = Nothing
Set PasteCell = Nothing
Set Sh1 = Nothing
Set Sh2 = Nothing
End Sub
如果您是VBA新手,這是一個很好的練習練習。
你嘗試過「記錄宏」嗎? –