Гость
Map
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение строк и / 4 сообщений из 4, страница 1 из 1
13.01.2021, 15:45
    #40035473
dab2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк и
Всем привет! Вот цитирую задание на знание VBA:авторСобрать массивом (с помощью array()) файлы в один общий.

Необходимо создать отдельный файл-макрос с кнопкой. При нажатии на кнопку должно открываться диалоговое окно для выбора исходных файлов.
Макрос должен проходить по всем выбранным файлам, по всем листам, автоматически определяя шапку.

В итоге, из всех файлов и листов, должна получиться одна таблица на одном листе с одной шапкой.
Про файлы понятно, а вот про шапку хотел спросить, можно ли целиком сравнивать строки для определения идентичности шапок на листах через объекты Range, Select и пр., не прибегая к перебору ячеек? И второе - не понятно мне, зачем здесь использовать массив для сборки файлов?

И файлик с тремя листами такого примерно содержания:
Функционал % за апрель % за май ФИО сотрудника Должность ФилиалФункционал1 74% 65% ФИО сотрудника1 Бухгалтер Группа учета и контроляФункционал2 7% 5% ФИО сотрудника1 Бухгалтер Группа учета и контроляФункционал3 2% ФИО сотрудника1 Бухгалтер Группа учета и контроля
============================================================================================================
"О, сколько нам открытий чудных готовит просвещения дух, и опыт - сын ошибок трудных, и гений - парадоксов друг, и случай - бог изобретатель" (Пушкин, однако).
...
Рейтинг: 0 / 0
13.01.2021, 17:20
    #40035524
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк и
dab2
можно ли целиком сравнивать строки для определения идентичности шапок на листах через объекты Range,

Можно.
Построчно, через Transpose и Join.
...
Рейтинг: 0 / 0
13.01.2021, 17:56
    #40035539
dab2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк и
big-duke,

Можно пример, если есть?
...
Рейтинг: 0 / 0
14.01.2021, 11:06
    #40035687
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сравнение строк и
dab2,

Примера нет, вот набросал.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub RowComparator()
    Dim row1 As Range, row2 As Range
    Dim arrRow1() As Variant, arrRow2() As Variant
    Dim strRow1 As String, strRow2 As String
    
    Set row1 = Range("A1:D1")
    Set row2 = Range("A2:D2")
    
    
    With Application.WorksheetFunction
        arrRow1 = .Transpose(row1)
        arrRow1 = .Transpose(arrRow1)
        
        arrRow2 = .Transpose(row2)
        arrRow2 = .Transpose(arrRow2)
    End With
    
    
    strRow1 = Join(arrRow1, ",")
    strRow2 = Join(arrRow2, ",")
    
    If strRow1 = strRow2 Then
        MsgBox "Диапазоны совпадают"
    Else
        MsgBox "Диапазоны не совпадают"
    End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / сравнение строк и / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]