-1
我已经创建了一个用户窗体来将一个Excel工作表导入到一个特定的Excel表格。但是,我需要导入的工作簿包含多个工作表,这些工作表是每个工作表上每月的31天。有没有办法在用户表单上创建组合框,以允许用户使用VBA选择他们希望导入访问表的工作表?如何允许用户使用组合框选择他们希望导入访问的Excel工作表?
这里是我的代码:
Private Sub btnBrowse_Click()
Dim diag As Office.FileDialog
Dim item As Variant
Set diag = Application.FileDialog(msoFileDialogFilePicker)
diag.AllowMultiSelect = False
diag.Title = "Please select an Excel Spreadsheet"
diag.Filters.Clear
diag.Filters.Add "Excel Spreadsheet", "*.xls, *.xlsx"
If diag.Show Then
For Each item In diag.SelectedItems
Me.txtFileName = item
Next
End If
End Sub
Private Sub btnImportSpreadsheet_Click()
Dim FSO As New FileSystemObject
If Nz(Me.txtFileName, "") = "" Then
MsgBox "Please select a file!"
Exit Sub
End If
If FSO.FileExists(Nz(Me.txtFileName, "")) Then
If MsgBox("Do you want to import this file?", vbYesNo) = vbYes Then
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Dyeing", Me.txtFileName, True
MsgBox "File Imported"
Else
MsgBox "Please select file again"
End If
End If
End Sub
向我们展示你迄今所取得的VBA代码。 –
私人小组btnBrowse_Click() 昏暗的诊断作为Office.FileDialog 昏暗的项目为Variant 集诊断= Application.FileDialog(msoFileDialogFilePicker) diag.AllowMultiSelect =假 diag.Title = “请选择一个Excel电子表格” 诊断.Filters.Clear diag.Filters.Add “Excel电子表格”, “* .xls的,* .XLSX” 如果diag.Show然后 为每个项目在diag.SelectedItems Me.txtFileName =项 接着 完如果 末次 –
私人小组btnImportSpreadsheet_Click() 昏暗FSO作为新FileSystemObject的 如果NZ(Me.txtFileName, “”)= “” 那 MsgBox “请选择一个文件!” 退出小组 结束如果 如果FSO.FileExists(NZ(Me.txtFileName, “”)),然后 如果MSGBOX( “你想导入此文件?”,vbYesNo)= vbYes然后 DoCmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel12, “染色”,Me.txtFileName,真 MSGBOX “文件导入” 否则 MsgBox “请重新选择文件” 结束如果 结束如果 结束小组 –