Tag: checkbox

从Excel导入checkbox设置

我有一个Excel工作表,其中有14个条目与checkbox。 我想在Visual Basic中将这些checkbox的状态读入相应的checkbox。 然而,我正在为这个访问而苦恼。 我相信我只能通过名称访问Excel工作表中的checkbox,因为我不认为他们有像Visual Basiccheckbox那样的索引,所以我想我必须单独检查全部14个。 所以有两个问题: 1)是真的我必须引用Excelcheckbox的名称,因为它们没有关联到一个特定的索引,正确(这也意味着14个单独的行的访问,而不是某种forms的循环)? 2)我怎样才能将checkbox的值读入我的Vsual Basic程序? 我试过这个: Dim oExcel As Excel.Application Dim oBook As Excel.Workbook Dim oSheet As Excel.Worksheet oExcel = New Excel.Application 'Create a new instance of Excel oExcel.Workbooks.Open("C:\QA Controller Test Files\" & SelectController.Text & ".xlsm") oSheet = oExcel.Worksheets(1) Dim checked As Boolean = oSheet.Shapes("Verify USB Revision Reporting").ControlFormat.Value If checked […]

Excel – checkbox全部在Visual Basic中select

我是Visual Basic的新手。 我尝试过了 Sub SelectAll_Click() 'Update 20150309 Dim xCheckBox As CheckBox For Each xCheckBox In Application.ActiveSheet.CheckBoxes If xCheckBox.Name <> Application.ActiveSheet.CheckBoxes("Check Box 1").Name Then xCheckBox.Value = Application.ActiveSheet.CheckBoxes("Check Box 1").Value End If Next End Sub 我已将我的主checkbox命名为“全选”。 我在模块窗口popup错误1004有麻烦。如果有人知道我做错了什么?

表单控件checkboxlinkedcell参考失败

我devise了一个表单控件checkbox的链接单元格引用.LinkedCell = Worksheets("sheet1").Range("D" & myCell.Row & "").Value ,不幸的是不会链接到指定的单元格。 虽然,标题引用确实有效。 我把整个macros放在下面: Sub test() Dim myBox As CheckBox Dim myCell As Range Dim cellRange As String With ActiveSheet For Each myCell In .Range("B10:B12").Cells With myCell Set myBox = .Parent.CheckBoxes.Add(Top:=.Top, Width:=.Width, Left:=.Left, Height:=.Height) With myBox .LinkedCell = Worksheets("sheet1").Range("D" & myCell.Row & "").Value .Caption = Worksheets("sheet1").Range("B" & myCell.Row & […]

VBA:从checkbox中取消隐藏数组中包含值的行

我有三个checkbox(猫,狗,鼠标),我在Excel中有以下数据集(字母是列)。 ABC Cat Cat Mouse Dog Mouse Cat Mouse Mouse Dog Dog Cat Cat 我有以下代码: Dim num As Integer arrcriteria = Array("Cat", "Dog", "Mouse") Set temprange = ActiveSheet.Range("A1").End(xlDown) Set temprange = Range(Range("A2"), temprange) For Each z In temprange z.EntireRow.Hidden = True For num = 1 To 3 If Me.Controls("Checkbox" & num) Then If InStr(1, z.Value, […]

从一个select拉取数据基于两个checkbox(表单控件)

如果在三个标准中没有find数据,单元格F17将被设置为零。 单元E21,G25或G28将具有所需的数据。 如果勾选了两个checkbox中的一个(G23或G26)(两者中的一个,而不是两个),则需要知道如何使F17(Sheet Count)拉取数据,无论哪个选项都是数据将从哪里取出。 如果没有被检查,则数据等于E11 / E21。 目前我有G23和E21工作的基础上,如果G23检查:E21 =IF(G23=TRUE,0,4) 我不能通过使两个checkbox与另一个单元格与标准工作,如果其他两个没有检查。

VBA:在窗体控件中触发一个事件

我正在使用checkbox在Excel中创buildWBS。 我有以下几点: [checkbox1] A级 ——— [checkBox2]项目1 ——— [checkBox3]项目2 [checkbox4] B级 ——— [checkBox5]项目3 当我把checkbox2取消的时候,它会在项目1旁边的单元格中放入一个X如果我勾选了checkbox2,它将删除X. 如果我不勾选checkbox1,它将取消勾选checkbox2和checkbox3,但是它不会在项目1和2旁边的单元格中放置一个X.它只是在不触发事件的情况下剔除两个checkbox。 如何将该事件链接到checkBox1? 如果在表单控件中不能触发这种事件,我的其他问题是知道如何知道ActiveX控件中checkbox的行和列? 在Form Control中,我们可以使用sheets("sheet1").checkboxes(application.caller) ,但是这在ActiveX控件中不起作用。 checkbox2或checkbox3的代码: Sub CheckBoxLine() Dim ws As Worksheet Dim chk As CheckBox Dim lColD, myCol As Long Dim lColChk As Long Dim lRow As Long Dim rngD As Range lColD = 1 'number of columns to the […]

需要使用VBA将checkbox限制为每行一个

我正在使用下面的代码来创build每一行旁边的checkbox。 可以有500-2500行的任何地方,所以行数需要是dynamic的。 我在尝试着: 将工作表从一个工作簿复制到另一个工作簿 表单被复制后,添加每行旁边的checkbox 如果K为TRUE,我使用条件格式来浏览连续的所有文本,checkbox在J. 我遇到的问题是,如果一行的格式不相同的高度,两个checkbox出现在该行,它会影响后续的行。 这就是我使用的代码的样子。 请帮忙。 Sub create_new_wb_CHECKLIST() Sheets("Jobs by Day").Copy Dim ToRow As Long Dim LastRow As Long Dim MyLeft As Double Dim MyTop As Double Dim MyHeight As Double Dim MyWidth As Double LastRow = Range("I20000").End(xlUp).Row For ToRow = 2 To LastRow If Not IsEmpty(Cells(ToRow, "I")) Then MyLeft = Cells(ToRow, […]

如何使用OpenXML SDK访问Excel工作表中的FormControlcheckbox

我有一个电子表格,在工作表上的各个单元格中有一些checkbox,我需要从ac#程序中获取(选中/取消选中)的值。 我正在使用OpenXML SDK v2.5和相关的工具箱。 使用工具箱,我可以看到checkbox控件作为AlternateControlParts集合的一部分。 这些不是ActiveXcheckbox,而是通过Excel中的开发人员选项卡添加的表单控件。 当我使用SDK时,我也可以看到WorkSheetPart上有一个ControlPropertiesParts集合,它列出了所有的checkbox。 我的问题是,我怎么find哪个checkbox是在哪个单元格中,或者至less与哪个单元格有关? 我也发现了集合wsPart.ControlPropertiesParts.First()。DrawingsPart .WorkSheetDrawing.DrawingsPart.WorkSheetDrawing 这个集合似乎有每个checkbox的替代内容,如果我深入下钻,我可以find看起来相对于表单元格的checkbox位置的锚点。 然而,列和行ID似乎并不完全匹配,我怀疑偏移值也可能与它有关。 如果有人能指出我如何将checkbox映射到正确的行/单元格的正确方向,我将非常感激。 感谢您的任何帮助。 问候保罗

只有在checkbox被选中的情况下运行一个macros,并且当每个checkbox未被选中时,它将恢复到一个设置的“正常”状态

所以我试图创buildcheckbox,当checkbox被选中时,将预先计算的数据插入到表格中,并且同一个checkbox有能力让电子表格返回到单击checkbox之前的状态。 在过去的几天里,我一直试图看看是否有可能,但似乎找不到任何具体的答案。 我到目前为止的示例代码是 . Sub XrayWeld() ' ' XrayWeld Macro ' ' Range("O7").Select ActiveCell.FormulaR1C1 = _ "=((RC[-6]*'Table Data'!R[1]C[-8])+(RC[-5]*'Table Data'!R[1]C[-6])+(RC[-4]*'Table Data'!R[1]C[-5])+(RC[-3]*'Table Data'!R[1]C[-4])+(RC[-2]*'Table Data'!R[1]C[-2])+(RC[-1]*'Table Data'!R[1]C[-1]))" Range("O7").Select Selection.AutoFill Destination:=Range("O7:O30"), Type:=xlFillDefault Range("O7:O30").Select Sheets("Calculator Form ").Select Range("O32").Select End Sub

在用户窗体上使用IF&AND语句与checkbox

一个小背景:到目前为止,我创build了一个带有checkbox的用户窗体,每个macros都运行单独的macros,然后在未选中时运行相同的macros以返回“正常”状态。 这是通过IF,Else语句完成的。 我的问题是如何将If语句与AND语句组合在一起,所以当/如果两个框被选中,他们运行不同的代码或macros。 对于VBA和编码,我还是很新的东西,但是对于我来说IFer else语句的工作起来似乎是一个相当简单的想法。 但由于某种原因,我一直在尝试的代码没有工作,我不收到任何错误,只是当我有两个盒子检查时不做任何事情。 我一直在尝试的代码是: Private Sub cbXray_Click() If cbXray.Value = True And cbSCH40.Value = True Then ActiveCell.FormulaR1C1 = _ "=((RC[-6]*'Sched 40 Table Data'!R[1]C[1])+(RC[-5]*'Sched 40 Table Data'!R[1]C[-10])+(RC[-4]*'Sched 40 Table Data'!R[1]C[-9])+(RC[-3]*'Sched 40 Table Data'!R[1]C[-8])+(RC[-2]*'Sched 40 Table Data'!R[1]C[-7])+(RC[-1]*'Sched 40 Table Data'!R[1]C[-6]))" Range("P7").Select Selection.AutoFill Destination:=Range("P7:P30"), Type:=xlFillDefault Range("P7:P30").Select Else Range("P7").Select ActiveCell.FormulaR1C1 = _ "=((RC[-6]*'Sched 40 Table Data'!R[1]C[-11])+(RC[-5]*'Sched […]