使用VBA将Tickmarks(图片)粘贴到Excel中

时间:2018-02-05 21:34:41

标签: excel vba excel-vba bitmap

我正在尝试向Addin添加一些自定义标记,我现在设置它的方式是它们只是取消隐藏addin工作表并将addmark对象从addin复制/粘贴到活动工作簿。但是,此过程导致插件工作簿在屏幕上闪烁一毫秒。有没有更好的方法来设置它?闪烁很烦人。另外我认为可能直接从数据库调用.bmp对象而不是将它们存储在excel中。对宏如何运行时如何防止屏幕闪烁有什么建议吗?

Sub Circle1()
'
' Circle1 Macro
' Circle with a 1 in it
'
'
WB = ActiveWorkbook.Name
WS = ActiveSheet.Name
AC = ActiveCell.AddressLocal

    Application.ScreenUpdating = False
    Windows("toolbar.xlsm").Visible = True
    Workbooks("toolbar.xlsm").Worksheets("Sheet1").Shapes.Range(Array("Picture 2")).Select
    Selection.Copy
    Windows(WB).Activate
    Workbooks(WB).Worksheets(WS).Range(AC).Select
    ActiveSheet.Paste
    Windows("toolbar.xlsm").Visible = False
    Application.ScreenUpdating = True

End Sub

2 个答案:

答案 0 :(得分:1)

在复制之前不应选择形状,源工作簿也是如此。

尝试这样的事情(仅通过指向形状而不是形状范围简化):

>>> df.groupBy("product").agg({"Sales":"count"}).show()
+-------+------------+
|product|count(Sales)|
+-------+------------+
|  phone|           1|
|     tv|           2|
+-------+------------+

我想如果你要复制几张照片,你可以保持关闭屏幕,但是需要减少,因为唯一的闪烁应该是弹出的形状,这是一种愉快。

答案 1 :(得分:0)

我意识到您的问题是针对图片的,但根据您的“刻度标记需要” ,也许Unicode符号会更简单*(即。,copy& amp; ;粘贴)*替代处理单个图像。

✅✓✔⍻☑✗×x X✕☓✖✘✘❎✖❌×╳☓

(这些都是字符,而不是图像。)

Unicode v.10已超过 136,000 个字符......适合所有人!

更多信息: