Excel VBA - userform上的命令按钮,根据4个条件(跨3个工作表)将值放在特定单元格中

时间:2018-05-23 21:46:21

标签: excel vba excel-vba

我非常擅长使用VBA。我正在尝试创建一个文件来帮助分析财务部门的实际,预算和预测值。我认为VBA是我需要的方式让我的想法像我想象的那样工作,但找到一个了解VBA的人一直是一个挑战。我尝试了不同的搜索,但我认为我没有正确地表达我的搜索以获取我需要的信息。我很感激能得到的任何帮助。

到目前为止我所拥有的:带有命令按钮的用户窗体,其中的条件可以与值一起设置。

我需要它做什么:使用命令按钮时,值将根据4个条件转到指定单元格中的3个工作表中的1个。

以下是我的标准(及其可能性):

  1. 月(1-12)
  2. 条目类型(实际,预算,预测)
  3. FCV Header(原材料,包装材料......)
  4. 差异类型(用法,价格,替代......)
  5. 我有4个工作表

    1. 输入选项卡(这是命令按钮用于打开用户窗体的位置,并给出了可以使用的不同标头/方差类型组合的轮廓)
    2. FCV Actual
    3. FCV预算
    4. FCV预测
    5. 我希望用户窗体中的“上传FCV”命令按钮查看这4个条件,并将文本框中的值放在相应的单元格中。

      • 我正在排除的编码目前是针对以下设置进行的。填充此条目的正确单元格位于FCV实际选项卡单元格C12
      • 月:1
      • 输入类型:实际
      • FCV标题:原材料
      • 差异类型:用法
      • 文本框值:100

      然后我希望userform清除自己以准备下一个条目。 这是我到目前为止的编码。

      'Sub UseModeless()'
          'Dim frm As New UserFormData_Entry_Form'
          'frm.Show vbModeless'
      'End Sub'
      
      'Private Sub UserForm_Initialize()'
          'CB_Month.List = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)'
          'CB_Entry_Type.List = Array("Actual", "Budget", "Forecast")'
          'CB_FCV_Header.List = Array("Raw Materials", "Packaging Materials", "Labour/Other Variable Variances", "Energy", "Fixed Cost Variances", "Depreciation", "Volume", "PRO")'
          'CB_Variance_Type.List = Array("Usage", "Price", "Substitution", "Usage & Non Prop & Other Variable", "Substitution & Costing Lot Size", "Fixed Labour & Salaried", "Maintenance (inc. Labour)", "Fixed Energy Variances", "Fixed Costs Other", "Fixed Spend - Not Explained", "Start Up", "Special Charges", "Bad Goods", "Cost Without Production", "Factory FG Write-Offs Due to Quality", "N/A")'
      'End Sub'
      
      'Private Sub Upload_Button_Click()'
          'Application.ScreenUpdating = False'
          'Dim WS As Worksheet'
          'If CB_Month = "1" And CB_Entry_Type = "Actual" And CB_FCV_Header = "Raw Materials" And CB_Variance_Type = "Usage" And TB_Test <> "" Then'
          'Set WS = ActiveWorkbook.Worksheets("FCV Actual")'
          'Sheets("input tab").Range("a1") = TB_Total.Value'
          'End If'
          'UserForm = Me.reset()'
      'End Sub'
      

0 个答案:

没有答案