2017-05-29 97 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

希望这有助于! –