Tag: 控件

VBA,Excel:可以将.OnAction值设置为ThisWorkbook中的Public Sub

VBA天才: 问题1:是否可以将菜单选项的.OnAction值设置为ThisWorkbook中的Public Sub,或者必须将子菜单中的菜单选项设置为模块 ? 这工作:ViewTextFile()是一个模块中的公共子 .Controls(strMenuItem).OnAction = "'ViewTextFile """ & strMenuItem & """'" 我想将该子移动到ThisWorkbook ,所以值变成这样: .Controls(strMenuItem).OnAction = "'" & ThisWorkbook.Name & "!ViewTextFile """ & strMenuItem & """'" 问题2:如果#1的答案是肯定的,那么在.OnAction命令中获得对“ThisWorkbook”的引用的语法是什么? 请注意,参数strMenuItem必须包含在值中(如在“ViewTextFile my_file.txt”中)。 我已经尝试了以上的许多变化,但没有成功。 谢谢你,VBA天才!

表格数据导入向导控件

是否有任何现有的.NET(WPF兼容)控件生成类似于Excel平面文件导入对话框的对话框? 我正在寻找的是一个接口,它显示了选定数据源的可用列(用于初学者的XLS或CSV),并允许用户select每列代表什么types。 我知道这将需要大量的工作来适应我的计划,但是不用从头开始也不错。

如何在VBA中引用dynamic创build的控件?

我一直在StackOverflowfind我需要的答案几个月(谢谢大家!),但到目前为止我的search条件没有find我需要这个时间的结果…因此,我的第一个职位在这里… 我有一个包含两个用户窗体的Excel文件: 第一个用于input某些发票数据,然后以可以上传到我们专有会计系统的格式导出数据。 第二个是后来用来发布付款数据对这些发票,然后,同样,导出数据的格式,可以上传到我们的会计制度。 第二种forms必须在Userform_Initialize中dynamic创build,因为所需支付的数量(以及创build的TextBox和Label控件的数量)取决于发票的大小。 我已经完成了代码来创build这个第二种forms,它运作良好,但我想添加一些function,当用户更改这些dynamic创build的控件的一些。 我使用给定的控件的_Change()过程在其他forms中完成了这个操作(例如,当我想在input美元金额后移动到下一个框中时,只要值有两个,我就使用_Change()十进制后的数字)。 所以我的问题是:我怎样才能build立_Change()风格的程序,在窗体初始化之前还不存在的控件? 有没有办法设置一个“全局”_Change()过程,我可以用它来循环通过文本框,并使用基于它们的dynamic名称的if / then / else语句? 任何提示将非常感谢!

我的统计质量控制图表VB代码中的错误

我在网上发现了一个macros在线创build统计质量控制图。 所以我有一个.Csv文件,看起来像一个Excel表。 我使用macros,所以我必须select数据点。 然后,我必须select标签,然后绘制。 我的问题是UL2 =(上限,2 *标准偏差)和LL2 =(下限,2 *标准偏差)的误差条根本没有出现。 所有其他错误栏显示。 如平均,UL(上限)和LL(下限)以及UL3和LL3,但不是UL2和LL2。 此外,数据点不是沿着它们应该是的平均线,它们也被移位。 我使用的示例表显示了他们,但是这是在一个常规的Excel文件。 我将它作为.CSV文件的原因是因为我使用另一个macros来提取原始数据,并将其粘贴到新的.csv文件中。 我认为这是原因,但我不是100%肯定的。 我想知道你们是否可以帮助我。 我对VBA相当陌生,请耐心等待。 谢谢! 这是创build控制图的代码: Option Explicit Public Function GetRange(box_message As String) As Range Set GetRange = Nothing On Error Resume Next Set GetRange = Application.InputBox(box_message, "Select Range", Selection.Address, , , , , 8) End Function Public Function IsNotOk(ByVal rng As […]

VB.NET 4.5在运行时在Excel工作表上移动控件

我在64位Windows 8.1专业平台上在Visual Studio 2013中使用Visual Basic 2013与VSTO。 我创build了一个function区插件,允许用户通过该function区将控件放置在电子表格上。 我一直在试图添加额外的function,以便当用户点击/拖动一个控件(在这种情况下是一个Windows.Forms.Button)时,它可以被拖动(或者只是移动)到工作表中的另一个点上。 我根本找不到办法做到这一点。 我可以让它移动,但只有在其显示矩形(我认为),以便部分(或完全取决于我移动多远)button消失。 我无法发布任何有意义的代码,因为我已经尝试过/重试过,写过/重写了很多次,没有太多的成功。 你知道如何或如果我可以在一个表内移动这些控制/button? 谢谢, 在下面添加了一些附加信息 我已经清理了一些代码,可以帮助你,如果你正在看这个问题。 下面的第一部分是mousedown和mousemove事件的事件处理程序。 这些允许移动控制button,但是您可以通过电子表格(显示矩形?)中的窗口看到它,如果按住鼠标button将其移动到查看矩形的边界之外,该button将消失。 Private Sub button1_mousedown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Dim sentButton As Button = CType(sender, Button) Dim a, b As Rectangle a = sentButton.ClientRectangle b = sentButton.DisplayRectangle xy = Control.MousePosition.X – sentButton.Location.X yx = Control.MousePosition.Y – sentButton.Location.Y End Sub […]

Excel VBAcombobox禁用问题

我试图启用/禁用基于Excel 2007中的第二个combobox的值或状态的combobox。 我认为我的代码应该是这样的: Sub DropDown266_Change() If DropDown266.Index = 2 Then DropDown267.Enabled = False End If End Sub 但是,我得到一个运行时错误'424'说对象是必需的。 我相信这是一个非常简单的改变,但我似乎无法弄清楚。 让我知道你是否需要更多的细节。

将ChChart控件链接到Spreadsheet控件数据

我希望能够在VBA表单中embedded图表控件,允许用户点击控件的某些部分,这样就可以在隐藏的电子表格中点击包含X&Y值的数据。 我使用附加控制机制添加了“Microsoft Office Chat 11.0”和“Microsoft Office Spreadsheet 11.0”控件,并在表单上放置了其中的一个。 但是,对于我来说,我似乎无法将图表绑定到电子表格中包含的数据。 我考虑的一个select是 Dim SpdShtCtr As Spreadsheet Dim ChartControl As ChChart Dim XValues() As Variant, YValues() As Variant XValues = WorksheetFunction.Transpose(SpdShtCtrl.Range("XValues")) YValues = WorksheetFunction.Transpose(SpdShtCtrl.Range("YValues")) Dim c Set c = ChartControl.Constants With ChartControl .Clear .Charts.Add With .Charts(0).SeriesCollection.Add .Caption = "Data" .SetData c.vbDimCategories, c.chDataLiteral, XValues .SetData c.vbDimValues, c.chDataLiteral, YValues End […]

如何控制Excel中各个饼图段的颜色?

我希望能够程序化地控制饼图中各部分的颜色。 理想情况下,我的图表将基于一个3列表,其中列是数据值,标签和饼图颜色值。 颜色值将是在Access窗体属性中看到的相同数字。 谢谢, 史蒂夫

如何让combobox不接受Excel-VBA中的用户input?

有谁知道什么属性是在combobox,我可以操作,以便不允许用户键入/input任何数据?