excel宏代码怎么写 excelComboBox2如何写代码

经验直达:

  • excelComboBox2如何写代码
  • excel宏代码怎么写

一、excelComboBox2如何写代码


If KeyCode = 13 (当按下Enter键时,Enter的键值为13)
主要意思是,如果combobox1中只有一个项目,当按下enter时,combobox1就会显示仅有的这个项目,接着判断combobox1中的值是不是下拉列表中的值,如果是,按下enter时,把当前的值写到鼠标选中的那个单元格中.
比如下拉列表中有AA,BB,CC三个值,如果这时输入的是FF,不属于AA,BB,CC其中的一个,那么这时,ComboBox1.ListIndex这时就等于-1了,就不会把FF写到单元格,如果输入的值为BB,属于AA,BB,CC其中的一个,这时,ComboBox1.ListIndex这时就等于1了(选AA时为0,BB为1,CC为2),这就是倒数第五句代码的意思...自己多试试,慢慢就明白了.

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
'如果combobox1中只有一个项目,当按下enter时,combobox1就会显示仅有的这个项目.
If ComboBox1.ListCount = 1 Then ComboBox1.ListIndex = 0
'当combobox1中的值为combobox1中list中的值时,则当按下enter时,把当前的值写到鼠标选中的那个单元格中.
If ComboBox1.ListIndex <> -1 Then ActiveCell = ComboBox1.Value
'ComboBox1.Visible = False
ActiveCell.Select
End If
End Sub


二、excel宏代码怎么写


看下图:

【excel宏代码怎么写 excelComboBox2如何写代码】
excel宏代码怎么写 excelComboBox2如何写代码

代码如下:

Sub 俺要打印()
Sheets("台账录入").Select '选中"台账录入"表
Dim i As Long, r As Long
r = Range("B" & Rows.Count).End(xlUp).Row '获取B列最大行号
If r < 2 Then Exit Sub '最大行号<2时退出sub
For i = 2 To r
Range("O7:P7") = Range("B" & i).Resize(1, 2).Value '将B:C两格的值赋值给"放样"表的O7:P7
Sheets("放样").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False '打印"放样"表
Sheets("监抽").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False '打印"监抽"表
Next
MsgBox "打印完毕", 64 '结束时弹出提示
End Sub

相关经验推荐