Я только студент и новичок в VBA. Я пытаюсь экспортировать пользовательскую форму, в которой пользователь будет иметь некоторые отфильтрованные данные, чтобы я мог кодировать выходные данные, чтобы получить все отфильтрованные данные в форме, подобной этой
DoCmd.OutputTo acOutputQuery, "qryResults", acFormatXLS. Однако как я могу вызвать это, чтобы добавить в мои операторы условия после экспорта, поэтому мне нужно создать свой собственный экспорт, чтобы я мог вызвать Excel VBA, а затем go в книгу, которую я создаю и добавляю в условия заявления. Таким образом, я старался изо всех сил и потерпел неудачу, следующий код работает, но он должен, и я не могу понять, почему я не могу экспортировать мои отфильтрованные данные из формы с условными выражениями в форме? Access добавит условия условия в формате PDF! почему я не могу получить его в Excel с помощью простой функции «Печать»
Public Sub cmdExport_Click()
On Error Resume Next
Dim x As Excel.Application
Dim r As Recordset
Dim w As Excel.Worksheet
Dim l As Long
Dim c As New Collection
Set r = Me.Recordset
Set x = New Excel.Application
x.Visible = 1
If x.Workbooks.Count = 0 Then x.Workbooks.Add
Set w = x.Worksheets(1)
For l = 0 To r.Fields.Count - 1
If Me.Controls(r.Fields(l).Name).ColumnHidden Then
c.Add l + 1
End If
w.Range("a1").Offset(0, l).Value = r.Fields(l).Name
Next l
w.Range("a2").CopyFromRecordset r
For Each i In c
w.Columns(i).Hidden = True
Next i
For l = r.Fields.Count To 1 Step -1
If w.Columns(l).Hidden = True Then
w.Columns(l).Delete
End If
Next l
Call worksheetformat
On Error GoTo 0
''''''''''''''''''''''''
' Condition Statment
'Call worksheetformat
End Sub
Public Sub worksheetformat(ByVal Target As Range)
Dim MyRange As Range
Call SelectAllCellsInSheet(ActiveSheet.Name)
For Each Cell In MyRange
If Cell.Value Like "COMPLETE" Then
Cell.Interior.ColorIndex = 48
ElseIf Cell.Value Like "GO TO SOURCE INFO" Then
Cell.Interior.ColorIndex = 46
ElseIf Cell.Value Like "CANCELLED" Then
Cell.Interior.ColorIndex = 38
Else
Cell.Interior.ColorIndex = xlNone
End If
Next
End Sub
Sub SelectAllCellsInSheet(SheetName As String)
lastCol = Sheets(SheetName).Range("a1").End(xlToRight).Column
Lastrow = Sheets(SheetName).Cells(1, 1).End(xlDown).Row
Sheets(SheetName).Range("A2", Sheets(SheetName).Cells(Lastrow, lastCol)).Select
End Sub