Tag: 形状

复制并粘贴一个形状到另一个表格,并调整到单元格大小

我有一个问题,在同一个Excel文件中复制和粘贴一个形状。 我在一个Excel文件中有两个表格,在表格“表格1”中只有一个图片,我假设自动获得名称为“图片1”。 我想复制这张图片,并将其粘贴到名为“概览”的表格中,该表格与“表格1”在同一个Excel文件中。 我想将此图片粘贴到单元格A1,我希望它适合单元格大小,不会比单元格A1大。 我怎样才能做到这一点 ?

VBA代码来显示/隐藏象形图

我有一些代码,取决于一个单元格的值,它会显示正确的健康危害象形图。 如果D48中的结果是“AMBER-01”或“绿色”,但对其他结果不起作用,它是否有效? 我尽可能保持简单,但是我不知道为什么它不起作用。 Sub COSHH() 'If statements for visibility of Pictograms If Sheets("COSHH").Range("D48").Value = "RED-01" Then Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoFalse Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoTrue Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse ElseIf Sheets("COSHH").Range("D48").Value = "AMBER-01" Then Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoTrue Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoFalse Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse ElseIf Sheets("COSHH").Range("D48").Value = "AMBER-02" Then Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = […]

VB.Net:格式化形状

目标:填写形状并更改/删除其边框。 问题:它被填充的颜色变得相反要求(要求红色,它充满蓝色)。 myColor = System.Drawing.Color.Blue Dim theShape As Microsoft.Office.Interop.Excel.Shape = xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, (xlWorkSheet.Cells(theRow, theColumn)).Left, (xlWorkSheet.Cells(theRow, theColumn)).Top, 25, 14) theShape.Fill.ForeColor.RGB = myColor.ToArgb() 此外,为了改变边界,我发现这… https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.powerpacks.shape.bordercolor.aspx 。 我经历了安装PowerPacks并添加Imports Microsoft.VisualBasic.Powerpacks的过程,但它仍然没有给我改变我的形状边框颜色的能力。 还有什么我需要做的吗? theShape.borderColor = myColor.ToArgb 任何和所有的帮助,非常感谢!

使用VBA在Excel中更改连接器types

需要连接器types从弯头弯曲或弯曲到连接器。 但Excel不logging发生在形状上的变化,尝试所有的对象属性,有人可以帮助吗?

如何禁用复制chartarea中存在的形状?

我在Excel中有一个图表,我的macros在图表区域的右侧填充了10个形状。 我只想复制图表的权力,并找不到方法来禁用复制的形状到目前为止。 如果我复制图表,它也复制形状。

Excel VBA TopLeftCell属性

我想获取Selection.ShapeRange中每个形状对象的.TopLeftCell属性,但是当我运行下面的代码时,运行时错误438说'这个对象不支持这个属性或方法'。 Sub testTopLeftCell() For Each target In Selection.ShapeRange MsgBox target.TopLeftCell.Address Next End Sub 但是,下面的代码工作。 Sub testTopLeftCell2() For Each target In Selection.ShapeRange MsgBox ActiveSheet.Shapes(target.Name).TopLeftCell.Address Next End Sub 任何人都可以教我,第一个代码有什么问题,第二个代码是为什么工作的。 我真的很困惑这个问题。

形状安置和形状计数器

在VBA Excel中,我有几个关于形状的问题。 我有A列和B列。他们会像这样显示。 AB 1 | some text 1 to 5 shapes 2 | blabla OOOO 我想通过用户窗体input文本和形状。 因此,如果用户select“1”,我想要一个形状出现在列B单元格的左侧。如果用户select“3”,我想三个形状出现在列B中彼此相邻。 另外,如果有人首先select了三个形状,并且想要将它改成四个形状,那么我必须把第四个形状放在正确的位置上。 所有这些必须仍然工作,如果我改变列的宽度。 我真的search了很多,但我似乎无法find一个正确的解决scheme。

在VBA中使用通配符名称来设置图片

我正试图从一个工作簿导入到另一个图片并编辑它。 我无法find正确的方法来命名它,或者在将它粘贴到新的工作簿中后进行定义。 WB1中只有一张图片,所以我想循环去find一张图片。 它将被命名为像图片1,图片2,图片10等,所以我认为我应该能够通过像“图片*”这样的东西来定义mapSHP,但我不能得到这个工作。 很明显,我已经定义了WB1,WB2和pasteWS,并将mapSHP定义为一个形状。 For Each s In WB1.Worksheets If s.Pictures.Count > 0 Then For Each pic In s.Shapes pic.Copy WB2.Activate pasteWS.Range("A1").Select pasteWS.Pictures.Paste Set mapSHP = pic GoTo gotPic: Next pic End If Next s gotPic: 感谢您的帮助。

形状名称一直在改变,我无法find它

我有这个问题用vba在Excel中删除一个形状。 Excel给所有的时间不同的名称为这些形状,这就是为什么我得到这一行的错误:这里Activesheet是我的开放表和直连接1是形状的名称,它被设置为“直连接器1”,但是当我重用macros找不到。 ActiveSheet.Shapes.Range(Array("Straight Connector 1")).Select Selection.Delete 如果我再次使用macros,它不能find元素。 我该怎么办?

迭代思考所有(即使分组)形状在一个表/ EXCEL VBA中

下面的代码不包括分组形状。 有工作吗? Sub LoopThruShapes() Dim sh As Shape i=1 For Each sh In ActiveSheet.Shapes Cells(i, 1).value = sh.name Next End Sub 来源: http : //www.java2s.com/Code/VBA-Excel-Access-Word/Excel/LoopingthroughaCollectionofShapes.htm