Экспортировать данные фильтра формы с условными выражениями - PullRequest
0 голосов
/ 28 апреля 2020

Я только студент и новичок в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...