Excel 电子表格中的VBA用户表单标签

Excel 电子表格中的VBA用户表单标签,excel,vba,userform,Excel,Vba,Userform,我在运行我创建的UserForm时遇到问题。我的UserForm中有5个标签,但当我运行UserForm以获取excel电子表格的输入时,我的标签不显示,只显示我放入文本框和组合框中的日期、数字等。有人知道这个问题的解决办法吗 Private Sub btncalculate_Click() txtactualprofit = txtincome - txtexpenses End Sub Private Sub btncancel_Click() Unload Me

我在运行我创建的UserForm时遇到问题。我的UserForm中有5个标签,但当我运行UserForm以获取excel电子表格的输入时,我的标签不显示,只显示我放入文本框和组合框中的日期、数字等。有人知道这个问题的解决办法吗

Private Sub btncalculate_Click()
  txtactualprofit = txtincome - txtexpenses   
End Sub

Private Sub btncancel_Click()
    Unload Me    
End Sub

Private Sub btnreset_Click()
    Unload UserForm1
    UserForm1.Show        
End Sub

Private Sub btnsubmit_Click()    
    Dim emptyRow As Long

    'Make Sheet2 active
    Sheet2.Activate

    'Determine emptyRow
    emptyRow = WorksheetFunction.CountA(Range("A:A")) + 2

    'Transfer information
    Cells(emptyRow, 1).Value = cmbmonth.Value & "/" & cmbyear.Value
    Cells(emptyRow, 2).Value = txtincome.Value
    Cells(emptyRow, 3).Value = txtexpenses.Value
    Cells(emptyRow, 4).Value = txtactualprofit.Value
    Cells(emptyRow, 5).Value = txtbudgetedprofit.Value         
End Sub

Private Sub monthandyear_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  MsgBox "Month & Year"    
End Sub

Private Sub sbexpenses_Change()
  txtexpenses.Text = sbexpenses.Value
End Sub

Private Sub sbincome_Change()
  txtincome.Text = sbincome.Value  
End Sub

Private Sub txtexpenses_Change() 
  Dim NewVal As Double

  NewVal = val(txtexpenses.Text)
  If NewVal >= sbexpenses.min And _
     NewVal <= sbexpenses.max Then sbexpenses.Value = NewVal    
End Sub

Private Sub txtincome_Change()   
  Dim NewVal As Double

  NewVal = val(txtincome.Text)
  If NewVal >= sbincome.min And _
     NewVal <= sbincome.max Then sbincome.Value = NewVal
End Sub

Private Sub UserForm_Initialize()    
  'Empty Income Text Box and Set the Cursor
    txtincome.Value = ""
    txtincome.SetFocus

  'Empty all other text box fields
  txtexpenses.Value = ""
  txtactualprofit.Value = ""
  txtbudgetedprofit.Value = ""

  'Clear All Month and Year Related Fields
  cmbmonth.Clear
  cmbyear.Clear

  'Fill Month Drop Down box - Takes Jan to Dec
  With cmbmonth
    .AddItem "JAN"
    .AddItem "FEB"
    .AddItem "MAR"
    .AddItem "APR"
    .AddItem "MAY"
    .AddItem "JUN"
    .AddItem "JUL"
    .AddItem "AUG"
    .AddItem "SEP"
    .AddItem "OCT"
    .AddItem "NOV"
    .AddItem "DEC"
  End With

  'Fill Year Drop Down box - Takes 2010 to 2018
 With cmbyear
    .AddItem "2010"
    .AddItem "2011"
    .AddItem "2012"
    .AddItem "2013"
    .AddItem "2014"
    .AddItem "2015"
    .AddItem "2016"
    .AddItem "2017"
    .AddItem "2018"
 End With
Private Sub btncalculate_Click()
txtactualprofit=txtincome-txtexpenses
端接头
专用子btncancel_Click()
卸下我
端接头
专用子btnreset_Click()
卸载UserForm1
UserForm1.Show
端接头
私有子btnsubmit_Click()
暗空如长
'使Sheet2处于活动状态
表2.激活
“确定空罗
emptyRow=工作表函数.CountA(范围(“A:A”))+2
“传输信息
单元格(emptyRow,1).Value=cmbmonth.Value&“/”&cmbyear.Value
单元格(emptyRow,2).Value=txtincome.Value
单元格(emptyRow,3).Value=txexpenses.Value
单元格(emptyRow,4).Value=txtactualprofit.Value
单元格(emptyRow,5).Value=txtBudgetedProfile.Value
端接头
私有子月手动年\鼠标移动(ByVal按钮为整数,ByVal移位为整数,ByVal X为单个,ByVal Y为单个)
MsgBox“月和年”
端接头
私人子SBU费用变更()
txexpenses.Text=sbexpenses.Value
端接头
私有子sbincome_Change()
txtincome.Text=sbincome.Value
端接头
私人子公司txtexpenses_Change()
双倍暗纽瓦尔
NewVal=val(txexpenses.Text)
如果NewVal>=sbexpenses.min和_
NewVal=sbincome.min和_

NewVal如果要在工作表上显示标签文本,请在此代码之前:

'Transfer information
Cells(emptyRow, 1).Value = cmbmonth.Value & "/" & cmbyear.Value
Cells(emptyRow, 2).Value = txtincome.Value
Cells(emptyRow, 3).Value = txtexpenses.Value
写:

Cells(1, 1) = Label1 'Change Label1 to the actual label name
Cells(1, 2) = Label2
Cells(1, 3) = Label3
Cells(1, 4) = Label4
Cells(1, 5) = Label5

并将
Label1
更改为标签的实际名称。

这样,您在
用户表单上有一个标签,但初始化时标签不会显示?你能提供一个截图吗。实际上有两个屏幕截图-一个是开发模式下的userform,另一个是在
userform
用不显示的标签初始化之后?我在问题中添加了代码。新的,所以不是最快的。我会在一分钟内提供截图。我还添加了截图,让我知道它是正确的还是错误的图片!那么,当您单击“btnsubmit”时会发生什么情况呢?我是否正确理解您的意思:您希望文本框和组合框旁边的标签作为列标题显示在电子表格的第一行中?现在你完全没有这方面的代码,对吗?