У меня есть база данных, объединяющая все проекты в моем подразделении, которые постоянно обновляются.Создание VBA для фильтрации базы данных и разделения ее на таблицы на основе идентификатора проекта для отчетности?
база данных состоит из 4-х колонок:
- Дата обновления по
- Название проекта
- Ссылка
- Статус
Давайте предположим, что у нас есть 4 проектов.
Я хочу VBA, который принимает все обновления для каждого проекта и имеет его в одной таблице.
Так что в итоге он создаст 4 таблицы, каждый проект будет иметь свою собственную таблицу. Также он будет иметь название проекта в качестве названия для таблицы.
Новые 4 таблицы будет состоять из 3-х колонок
- Дата
- Reference
- Статус
(название проекта будет общим, поэтому он удален в новых таблицах и это будет заглавие для каждой таблицы)
Таким образом, номер проекта будет основным критерием поиска для VBA.
Информация о базе данных заполняется пользовательской формой, пользовательская форма вставляет все обновления этой базы данных. Именно по этой причине я хочу разбить базу данных на таблицы на основе идентификатора проекта. Поскольку данные вводятся с использованием пользовательской формы, Пользователь будет выбирать проект, который он хочет обновить, по встроенному раскрывающемуся списку в пользовательской форме, а затем после отправки пользовательская форма введет введенные данные в базу данных.
Основная цель этого запроса иметь печатный отчет, объединив все проекты, но каждый проект будет находиться в отдельной таблице для облегчения отчета analysis.Sub()
Sheet4.Activate
Dim project1 As String
Dim project2 As String
Dim project3 As String
Dim project4 As String
Dim project5 As String
Dim project6 As String
Dim project7 As String
Dim project8 As String
Dim project9 As String
Dim project10 As String
Dim project11 As String
Dim project12 As String
Dim project13 As String
Dim project14 As String
Dim project15 As String
Dim finalrow As Integer
Dim i As Integer
project1 = Sheet4.Range("U1").Value
project2 = Sheet4.Range("U2").Value
project3 = Sheet4.Range("U3").Value
project4 = Sheet4.Range("U4").Value
project5 = Sheet4.Range("U5").Value
project6 = Sheet4.Range("U6").Value
project7 = Sheet4.Range("U7").Value
project8 = Sheet4.Range("U8").Value
project9 = Sheet4.Range("U9").Value
project10 = Sheet4.Range("U10").Value
project11 = Sheet4.Range("U11").Value
project12 = Sheet4.Range("U12").Value
project13 = Sheet4.Range("U13").Value
project14 = Sheet4.Range("U14").Value
project15 = Sheet4.Range("U15").Value
finalrow = Sheet4.Range("A2000").End(xlUp).Row
i = 0
For i = 1 To finalrow
If Cells(i, 1) = project1 Then
Sheet7.Range("A100").End(xlUp).Offset(1, 0) = project1
If Cells(i, 1) = project1 Then
Sheet4.Range(Sheet4.Cells(i, 2), Sheet4.Cells(i, 8)).Copy
Sheet7.Range("A100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats
End If
End If
Next i
Sheet7.Activate
End Sub
В максимально возможной степени; этот сайт для вопросов ... Что твой? – User632716