循环通过多选列表框值来创建和命名工作簿 [英] Looping through Multi-selected Listbox values to create and name workbook
本文介绍了循环通过多选列表框值来创建和命名工作簿的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
列表框未将所选值分配给n。无论我是从列表框中选择值,n值都为0。我正在学习,所以可能是一件简单的事情,我错过了...建议?谢谢!
The listbox is not assigning the selected values to "n". The "n" value is 0 regardless if I select values from the listbox or not. I'm learning, so it could be something simple that I'm missing... suggestions? Thanks!
Private Sub UserForm_Initialize()
With cbomonth
.AddItem "January"
.AddItem "February"
End With
With cboyear
.AddItem "2013"
.AddItem "2014"
End With
With cboteam
.AddItem "Team1"
.AddItem "Team2"
End With
With cbodocument
.AddItem "Task1"
.AddItem "Task2"
End With
With ListBox1
.AddItem "Name"
.AddItem "Name"
End With
cboteam.ListIndex = 0
cboyear.ListIndex = 4
cbomonth.ListIndex = 6
cbodocument.ListIndex = 1
End Sub
Private Sub cmdSubmit_Click()
Dim year As String
Dim month As String
Dim days As Integer
Dim team As String
Dim n as Long
Dim tallboxynames As Variant
Dim tallynewfile As String
Unload Me
year = cboyear.Value
month = cbomonth.Value
team = cboteam.Value
document = cbodocument.Value
TallyPath = "\\network path\Tally of orders\Master Template\"
TallyPath1 = "\\network path\Tally of orders\" & year & "\"
TallyPath2 = "\\network path\Tally of orders\" & year & "\" & month & "\"
TallyTemplate = "Tally_Template_ver1.xls"
If document = "Tally Sheets" Then
For n = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(n) Then
tallynewfile = ListBox1.Selected(n) & ".xls"
Else
MsgBox "No data from listbox"
End If
If Len(Dir(TallyPath1, vbDirectory)) = 0 Then
MkDir TallyPath1
End If
If Len(Dir(TallyPath2, vbDirectory)) = 0 Then
MkDir TallyPath2
FileCopy TallyPath & TallyTemplate, TallyPath2 & tallynewfile
End If
Next n
End If
Exit Sub
End Sub
推荐答案
移动将我卸载到过程结束:
Private Sub cmdSubmit_Click()
' code here ...
Unload Me
End Sub
要获取所选项目如果ListBox1.MultiSelect = 0 (fmMultiSelectSingle)使用值:
To get the selected item use Value if ListBox1.MultiSelect = 0 (fmMultiSelectSingle):
Me.ListBox1.Value
如果 MultiSelect> 0,则使用Selected属性,例如:
Private Function GetSelectedItems() As String
Dim text As String
Dim i As Integer
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
text = text & Me.ListBox1.List(i) & vbNewLine
End If
Next i
MsgBox "Selected items are: " & text
GetSelectedItemsText = text
End Function
这篇关于循环通过多选列表框值来创建和命名工作簿的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文