2017-05-29 84 views
0

我正在編程一個計算器。片上,計算器選項被配置(「X」和「y」),並按下showdata按鈕後,將數據從片概述複製並在片計算器顯示。將圖片從圖紙1複製並定位到圖紙2

每個配置選項都有自己的圖片。這些圖片也在概覽中列出。

對應於所選擇的配置,相關圖像應當從片複製概述到片計算器和位於細胞D5。如果工作表計算器中有另一張較老的圖片,則必須將其刪除。這意味着按下showdata按鈕應該像相關數據和圖片的實現按鈕一樣工作。

如何在上述情況下複製和放置圖片? 您可以在下面找到數據複製過程的工作代碼段。

Public Sub showdata_click() 

    Dim x As String 
    Dim y As String 

    x = Sheets("calculator").Range("B3").Value 
    y = Sheets("calculator").Range("B4").Value 

    '----------copying M5005 with C120 ------------------------------ 
    If x = "M5005" And y = "C120" Then 
     Sheets("overview").Range("B17:B33").Copy 
     Sheets("calculator").Range("B11.B27").PasteSpecial xlPasteValues 
    End If 

    '----------copying M5005 with C125 ------------------------------- 
    If x = "M5005" And y = "C125" Then 
     Sheets("overview").Range("C17:C33").Copy 
     Sheets("calculator").Range("B11.B27").PasteSpecial xlPasteValues 
    End If 

    '---------copying L3000 with C120 ----------------------------------- 
    If x = "L3000" And y = "C120" Then 
     Sheets("overview").Range("B45:B61").Copy 
     Sheets("calculator").Range("B11.B27").PasteSpecial xlPasteValues 
    End If 

    '----------copying L3000 with C250 ------------------------------------ 
    If x = "L3000" And y = "C250" Then 
     Sheets("overview").Range("C45:C61").Copy 
     Sheets("calculator").Range("B11.B27").PasteSpecial xlPasteValues 
    End If 

    '-----------copying L3000 with C180 ------------------------------------ 
    If x = "L3000" And y = "C180" Then 
     Sheets("overview").Range("D45:D61").Copy 
     Sheets("calculator").Range("B11.B27").PasteSpecial xlPasteValues 
    End If 

End Sub 
+0

這是不清楚你的照片是什麼意思。可能會顯示一個截圖。圖像是覆蓋在電子表格網格上方的對象。您需要訪問這些對象,然後將其複製並粘貼/跨頁移除。 – Parfait

+0

如果這是你的意思,圖像格式是.JPEG。 –

回答

0

爲了這個工作,你需要知道圖像的位置關於下面的單元格。

刪除從中有自己的左上部分給定的範圍交叉的工作表中所有圖片:

Dim s As Shape, rng As Range 
Set rng = Range("A1:B2") 

    For Each s In ActiveSheet.Shapes 
     If Intersect(rng, s.TopLeftCell) Is Nothing Then 
      'do nothing 
     Else 
      s.Delete 
     End If 
    Next s 

複製的圖片,並將其對齊到小區的工作表中:

Worksheets(1).Cells(1, 1).Copy Destination:=Worksheets(2).Cells(1, 1) 
+0

希望這有助於! –