将结果从vb宏表单发布到excel

时间:2013-08-26 09:33:42

标签: excel excel-vba vba

我想将excel vb中userform的值提交给excel表 表格代码如下,我想发送manswer到我的Excel表格 这段代码是计算器,我希望将答案发布到我的Excel表格中

    'Declare the global variables to be used throughout the form
Dim mfirst As Single
Dim msecond As Single
Dim manswer As Single
' Declare the global variables for the operators: Add,Sub,Mul and DIV
Dim mbutton As Integer
'Change the sign of the number from + or - or vice versa
' Depending on its state now they show in txtNUMBER text box
Dim Signstate As Boolean
Private Sub cmd0_Click()
'Put the value 0 into the txtNUMBER text box
TXTnumber = TXTnumber + "0"
End Sub

Private Sub cmd1_Click()
'Put the value 1 into the txtNUMBER text box
TXTnumber = TXTnumber + "1"
End Sub

Private Sub cmd2_Click()
'Put the value 2 into the txtNUMBER text box
TXTnumber = TXTnumber + "2"
End Sub

Private Sub cmd3_Click()
'Put the value 3 into the txtNUMBER text box
TXTnumber = TXTnumber + "3"
End Sub

Private Sub cmd4_Click()
'Put the value 4 into the txtNUMBER text box
TXTnumber = TXTnumber + "4"
End Sub

Private Sub cmd5_Click()
'Put the value 5 into the txtNUMBER text box
TXTnumber = TXTnumber + "5"
End Sub

Private Sub cmd6_Click()
'Put the value 6 into the txtNUMBER text box
TXTnumber = TXTnumber + "6"
End Sub

Private Sub cmd7_Click()
'Put the value 7 into the txtNUMBER text box
TXTnumber = TXTnumber + "7"
End Sub

Private Sub cmd8_Click()
'Put the value 8 into the txtNUMBER text box
TXTnumber = TXTnumber + "8"
End Sub

Private Sub cmd9_Click()
'Put the value 9 into the txtNUMBER text box
TXTnumber = TXTnumber + "9"
End Sub

Private Sub cmdADD_Click()
'User slected the add button
mbutton = 1
'Convert into a number and transfer the value from
'The text box on the form into the first number
mfirst = Val(TXTnumber)

TXTnumber = ""
End Sub



Private Sub cmdSUBTRACT_Click()
'User slected the minus button
mbutton = 2
'Convert into a number and transfer the value from
'The text box on the form into the first number
mfirst = Val(TXTnumber)

TXTnumber = ""
End Sub

Private Sub cmdMULTIPLY_Click()
'User slected the multiply button
mbutton = 3
'Convert into a number and transfer the value from
'The text box on the form into the first number
mfirst = Val(TXTnumber)

TXTnumber = ""
End Sub

Private Sub cmdDIVIDE_Click()
'User slected the Divide button
mbutton = 4
'Convert into a number and transfer the value from
'The text box on the form into the first number
mfirst = Val(TXTnumber)

TXTnumber = ""
End Sub
Private Sub cmdEQUALS_Click()
msecond = Val(TXTnumber)

Select Case mbutton
Case Is = 1
manswer = mfirst + msecond
Case Is = 2
manswer = mfirst - msecond
Case Is = 3
manswer = mfirst * msecond
Case Is = 4
manswer = mfirst / msecond
End Select
TXTnumber = manswer
End Sub
Private Sub cmdDOT_Click()
TXTnumber = TXTnumber + "."
End Sub
Private Sub cmdSIGN_Click()
'Sign state = false on load of form
If TXTnumber = "-" + TXTnumber Then
    MsgBox "error start again"
End If
If Signstate = False Then
TXTnumber = "-" + TXTnumber
Signstate = True
Else
'SignState = True

minusvalue = Val(TXTnumber)
'Value now positive
minusvalue = Val("-1" * minusvalue)
TXTnumber = minusvalue
Signstate = False

End If
End Sub
Private Sub cmdEXIT_Click()
Unload frmCALCULATOR
End Sub

Private Sub cmdCANCEL_Click()
'Remove the values in the txtNUMBER text box
TXTnumber = " "
End Sub

1 个答案:

答案 0 :(得分:0)

从UserForm获取值到工作表单元格所需的基本代码是:

Dim ws As Worksheet

Set ws = Worksheet("YourSheetName")

ws.Range("A1").Value = txtTextBoxName.Text    'or .Value