用户表单填写列

问题描述:

编辑:几乎解决参考我最近的评论和相关的代码。用户表单填写列

我想要一个窗体来填补根据用户表单上

用户窗体有16个复选框,包含个月(一月至十二月)两个列表框,以及所做的选择工作表的A列一个包含年份(两位数字)的列表框

我希望用户窗体在字符串中填写XX YYY和ZZ,并为每个复选框选择(每个选择一个月)生成两个值,并将这些值粘贴一个另一列在A列

(G:\ Reporting \ XX_MISSE_YYY20ZZ.xls)

其中XX对应于我选择的复选框(可以在总共1-16个选项之间) 和YYY对应于月份的列表框选择(仅仅为了重申我希望在那里有两个从两个月选择生成的值列表框) 和ZZ对应两位数列表框选择为一年

换句话说...

我想什么USERBOX做的是,如果我选择在我的用户形成了相应的复选框到AH和AD(例如),我选择mar和Apr作为月份列表框,而13表示年份列表框,我的结果将在列A中为

产生的将是

第一值(G:\报告\ AH_MISSE_MAR2013.xls):生成(\报告\ AH_MISSE_APR2013.xls G)在柱A2

第三值在列A1

产生将

秒值将(G:\报告\ AD_MISSE_MAR2013.xls)在塔A3

产生将

第四值(G:\报告\ AD_MISSE_APR2013.xls)在塔A4

+0

哪里阿勒你存储“AH “,”AD“等等ckbox? (提示:标签属性可能是正确的答案) – 2013-05-07 21:34:50

+0

@Declan_K哈哈,也许我不太了解用户表单太好...我没有问题的形式内置我实际上要求协助如何建立我的用户窗体,但我会看看标签属性,并返回给你 – 2013-05-07 21:51:30

Private Sub cbtnSubmit_Click() 
Dim sMonth1 As String 
Dim sMonth2 As String 
Dim sYear As String 
Dim cMyControl As Control 
Dim TargetCell As Range 
Dim iOff As Integer 

    sMonth1 = Me.lbMonth1.Value 'get the first month from the listbox 
    sMotnth2 = Me.lbMonth2.Value 'get the second month from the listbox 
    sYear = Me.lbYear.Value 'get the year 

    TargetCell = ThisWorkbook.Worksheets(1).Range("A1") 'Where we want to start outputing 
    iOff = 0 'Start output with no cell offset 

    For Each cMyControl In Me.Controls 'Loop through all control on the form 
     If TypeName(cMyControl) = "CheckBox" Then 'Finding the Checkboxes 
      'then writing the values to the excel sheet 
      TargetCell.Offset(iOff, 0).Value = "G:\Reporting\" + cMyControl.Tag + "_MISSE_" + sMonth1 + ".xls" 
      TargetCell.Offset(iOff, 1).Value = "G:\Reporting\" + cMyControl.Tag + "_MISSE_" + sMonth2 + ".xls" 
      'after I've written two value, "move" down two cells 
      iOff = iOff + 2 
     End If 
    Next 
End Sub 
+0

该代码似乎完全正确,所以我不明白为什么它不工作......我将宏设置为同一个用户窗体上的按钮。我唯一能想到的就是它没有正确引用我的复选框,因为我在列表框中命名了代码中的名称,但并不完全确定如何处理复选框,因为有太多。我应该将它们分组还是让它们分离?截至目前,它们被命名为复选框1-16。另外为了给你一些背景,代码一直运行,没有问题,但是这些值不会出现在目标单元格中​​。有什么想法吗? – 2013-05-08 09:24:47

+0

Nvm我明白了,虽然你的代码并不完美,但如果没有你,我不会解决它,所以我会给你选择的答案,然后投票赞成非常感谢你 – 2013-05-08 10:34:33