Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
1

Поиск данных в листах и копирование их в отдельные листы

23.01.2013, 17:57. Показов 5493. Ответов 14
Метки нет (Все метки)

Есть файл который обновляется каждый день. В нём есть колонка U.
Нужен макрос, который бы искал по данной колонке определённые слова из листа 0, и вытаскивал из всех листов все строки которые содержат данное слово и создавал новые листы с уже скопированными данными. Т.е. отдельный лист со словом морков, перец, груш, яблок и т.д. В колонке U может быть как яблоки так и яблоко, груши, груша, поэтому копировать те строки в которых есть сочетание яблок, груш...
0
Вложения
Тип файла: xlsx Цена22.01.13.xlsx (94.0 Кб, 30 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2013, 17:57
Ответы с готовыми решениями:

Перенос данных в отдельные листы по форме и условию
Здравствуйте!! Есть массив Данных в разрезе Отделов, нужно перенести каждый Отдел из Данных в...

Поиск и копирование определенных значений в определенные ячейки в листах книги
никогда не писал макросы. поверхностно знаю формулы. - задача такова: есть книга в ней...

Поиск на листах и систематизация данных
На "Лист1" в 1 столбце находится список организаций в столбец 2 и 3 должны копироваться данные со 2...

Загрузка и разбивка на отдельные листы в книге
Добрый день! В наличии excel 2003 и файл содержащий 400000 строк(9 столбцов). нужно загрузить...

14
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
24.01.2013, 10:58  [ТС] 2
На форуме нашёл такой код, он частично делает то что нужно, т.е. ищет в определённом столбце нужное слово, и копирует на новый лист.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
Sub bb()
Dim i&, j&, c As Range
Worksheets.Add before:=Sheets(1)
For i = 2 To Worksheets.Count
    For Each c In Worksheets(i).UsedRange.Columns(22).Cells
'1 - "определённый столбец"
        If c = "перец" Then
            j = j + 1
            c.EntireRow.Copy Cells(j, 1)
        End If
    Next
Next
Что нужно в нём изменить чтобы он брал данные с определённого листа (Лист0) и определённого массива $A$1:$A$100 и для каждой ячейки создавал новый файл?
0
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
25.01.2013, 07:34 3
undefined7, на основе книги из сообщения #1 приведите пример, что должен сделать код. Напишите примерно в таком виде:
  1. код двигается по листу "Лист1" по столбцу "U";
  2. берёт слово "перец";
  3. пишите, что дельше делает код.
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
25.01.2013, 10:23  [ТС] 4
Цитата Сообщение от Скрипт Посмотреть сообщение
undefined7, на основе книги из сообщения #1 приведите пример, что должен сделать код. Напишите примерно в таком виде:
  1. код двигается по листу "Лист1" по столбцу "U";
  2. берёт слово "перец";
  3. пишите, что дельше делает код.
Дальше он копирует полностью строку в которой находиться это слово на новый лист, идёт дальше, находит ещё раз это слово, опять копирует, и так до конца.
0
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
25.01.2013, 11:36 5
undefined7, код написан для книги из сообщения #1. Если вы повторно запустите макрос, то будет ошибка, если не удалите листы, сформированные макросом, т.к. нельзя чтобы в книге были листы с одинаковыми именами. Имя листу даётся в коде в пункте 4.
Кликните здесь для просмотра всего текста
Visual Basic
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Sub Procedure_1()
    
    'В константе указываете порядковый номер последнего
        'листа, который должен просматриваться макросом.
    'Это связано с тем, что в ходе работа коды в книгу
        'будут добавляться листы.
    Const mySheetCount As Long = 4
 
    Dim shSheet_1 As Excel.Worksheet
    Dim shLast As Excel.Worksheet
    Dim rngSearch As Excel.Range
    Dim rngFind As Excel.Range, myAddress As String
    Dim myLastRow_1 As Long, myLastRow_2 As Long
    Dim iSheet_1 As Long, jSheet As Long
    
    '1. На время работы кода для ускорения работы кода отключаем:
    'Обновление монитора.
    Application.ScreenUpdating = False
    'Пересчёт формул.
    Application.Calculation = xlCalculationManual
    'События.
    Application.EnableEvents = False
    
    '2. Даём листу "Лист0" имя "shSheet_1".
    'Через это имя будем обращаться к этому листу.
    Set shSheet_1 = Worksheets("Лист0")
    
    'Двигаемся по листу "Лист0" по первому столбцу
        'до первой пустой ячейки.
    'Начиаем двигаться с первой строки.
    iSheet_1 = 1
    Do While IsEmpty(shSheet_1.Cells(iSheet_1, "A")) = False
    
        '3. Чтобы код был проще, сразу создаём лист для текущей ячейки,
            'независимо от того, встретится текст из текущей ячейки на
            'просматриваемых листах или нет.
        'After:=Worksheets(Worksheets.Count) - это последний лист.
        'Одновременно, при создании листа, даём имя "shLast" листу.
            'Через это имя будем обращаться к листу.
        Set shLast = Worksheets.Add(After:=Worksheets(Worksheets.Count))
        
        '4. Даём имя листу в соответствии с данными из ячейки.
        'Только в данном случае нужно учитывать:
            '1) нет ли уже листа с таким именем;
            '2) содержит ли имя допустимые символы;
            '3) длина имени.
        'Я этого ничего не буду учитывать.
        shLast.Name = shSheet_1.Cells(iSheet_1, "A").Value
    
        '5. Подготавливаем номер строки, куда будут вставляться данные на новом листе.
        myLastRow_2 = 1
    
        'В цикле с "jSheet" проходимся по листам, которые надо обработать.
        For jSheet = 2 To mySheetCount Step 1
        
            'Буду использовать команду "Find" для поиска.
            '6. Задаю диапазон поиска, чтобы код работал быстрее и лишнее
                'не просматривал.
            '6.1. Определяю последнюю строку с данными на текущем листе
                'в столбце "U".
            myLastRow_1 = Worksheets(jSheet).Columns("U").Find(What:="?", _
                LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
                SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False).Row
            '6.2. Даю фрагменту листа, где нужно искать, имя "rngSearch".
            'Здесь вместо "U1" можно указать строку, с которой нужно искать.
            Set rngSearch = Worksheets(jSheet).Range("U1:U" & myLastRow_1)
            
            '7. Осуществляем поиск.
            'After:=rngSearch.Cells(rngSearch.Rows.Count, 1) - здесь указываем,
                'что поиск начинаем с последней ячейки. Это связано с тем, что поиск
                'начинается после указанной ячейки, чтобы данные брались в том порядке,
                'в котором они находятся на листе.
            'LookAt:=xlPart - поиск по частичному совпадению, например "груш".
            Set rngFind = rngSearch.Find(What:=CStr(shSheet_1.Cells(iSheet_1, "A").Value), _
                After:=rngSearch.Cells(rngSearch.Rows.Count, 1), LookIn:=xlValues, _
                LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
                
            'Если слово не будет найдено, то в переменной "rngFind"
            'будет содержаться слово "Nothing".
            If rngFind Is Nothing Then
            
                'Переходим к следующему листу.
                GoTo metka
            
            End If
            
            'Если был результат поиска, то найденной ячейке
                'даётся имя "rngFind". Через это имя можно обращаться к
                'найденной ячейке.
            '8. Запоминаем адрес ячейки, чтобы потом остановить поиск,
                'дойдя до этой же ячейки.
            myAddress = rngFind.Address
            
            'Ведём поиск, пока не вернёмся к первой найденной ячейке.
            Do
            
                '9. Копируем строку на последний лист
                rngFind.EntireRow.Copy Destination:=shLast.Range("A" & myLastRow_2)
                
                '10. Подготавливаем номер строки на последнем листе
                    'для следующих данных.
                myLastRow_2 = myLastRow_2 + 1
                
                '11. Ищем дальше в том же диапазоне.
                Set rngFind = rngSearch.FindNext(rngFind)
                
            Loop While rngFind.Address <> myAddress
            
metka:
        
        Next jSheet
    
        '11. Переход к следующей строке.
        iSheet_1 = iSheet_1 + 1
        
    Loop
 
    '12. Включаем то, что отключали в начале работы кода.
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
 
End Sub



Примечания

В коде использована команда "Find". Она имеет следующие характеристики:
  1. ищет текст не больше 255 символов;
  2. ищет быстрее, чем просмотр каждой ячейки;
  3. если есть объединённые ячейки, то может на найти то, что ищет;
  4. команда "Find" связана с окном "Найти и заменить". Поэтому в коде нужно указывать все параметры этой команды, чтобы на работу кода не повлияли параметры из окна "Найти и заменить". Я не указываю только иногда параметр "After";
  5. если код будет медленно работать, то можно попробовать использовать VBA-массивы или объект "Dictionary" - данные из листов помещать в них и уже работать не с самими листами, а с VBA-массивами или объектом "Dictionary".
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
25.01.2013, 15:58  [ТС] 6
огромное спасибо за код, есть ещё пару вопросов:
1. что нужно прописать в данный код, чтобы он в каждом создаваемом листе вставлял ещё:
для ячейки A1, на создаваемом листе копировал бы формулы с листа0 диапазона B1:P1, в создаваемом листе в B1:P1
для ячейки A2, на создаваемом листе копировал бы формулы с листа0 диапазона B2:P2, в создаваемом листе в B1:P1
для ячейки A3, на создаваемом листе копировал бы формулы с листа0 диапазона B3:P3, в создаваемом листе в B1:P1
и т.д.

2. что нужно прописать в код, чтобы если не находило слово из листа0 диапазон A1:A25 добавлял бы в листе с названием "другие".
В инете нашёл такого рода код последний снизу, частично он выполняет те функции которые мне необходимы.

Visual Basic
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Option Explicit
 
Sub Procedure_1()
    
    'В константе указываете порядковый номер последнего
        'листа, который должен просматриваться макросом.
    'Это связано с тем, что в ходе работа коды в книгу
        'будут добавляться листы.
    Const mySheetCount As Long = 2
 
    Dim shSheet_1 As Excel.Worksheet
    Dim shLast As Excel.Worksheet
    Dim rngSearch As Excel.Range
    Dim rngFind As Excel.Range, myAddress As String
    Dim myLastRow_1 As Long, myLastRow_2 As Long
    Dim iSheet_1 As Long, jSheet As Long
    
    '1. На время работы кода для ускорения работы кода отключаем:
    'Обновление монитора.
    Application.ScreenUpdating = False
    'События.
    Application.EnableEvents = False
    
    '2. Даём листу "Лист0" имя "shSheet_1".
    'Через это имя будем обращаться к этому листу.
    Set shSheet_1 = Worksheets("Лист0")
    
    'Двигаемся по листу "Лист0" по первому столбцу
        'до первой пустой ячейки.
    'Начиаем двигаться с первой строки.
    iSheet_1 = 1
    Do While IsEmpty(shSheet_1.Cells(iSheet_1, "A")) = False
    
    '3. Чтобы код был проще, сразу создаём лист для текущей ячейки,
    'независимо от того, встретится текст из текущей ячейки на
    'просматриваемых листах или нет.
    'After:=Worksheets(Worksheets.Count) - это последний лист.
    'Одновременно, при создании листа, даём имя "shLast" листу.
    'Через это имя будем обращаться к листу.
        Set shLast = Worksheets.Add(After:=Worksheets(Worksheets.Count))
        
    '4. Даём имя листу в соответствии с данными из ячейки.
    'Только в данном случае нужно учитывать:
    '1) нет ли уже листа с таким именем;
    '2) содержит ли имя допустимые символы;
    '3) длина имени.
    'Я этого ничего не буду учитывать.
        shLast.Name = shSheet_1.Cells(iSheet_1, "A").Value
    
    '5. Подготавливаем номер строки, куда будут вставляться данные на новом листе.
        myLastRow_2 = 1
    
    'В цикле с "jSheet" проходимся по листам, которые надо обработать.
        For jSheet = 2 To mySheetCount Step 1
        
    'Буду использовать команду "Find" для поиска.
    '6. Задаю диапазон поиска, чтобы код работал быстрее и лишнее
    'не просматривал.
    '6.1. Определяю последнюю строку с данными на текущем листе
    'в столбце "A".
            myLastRow_1 = Worksheets(jSheet).Columns("A").Find(What:="?", _
                LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, _
                SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False).Row
    '6.2. Даю фрагменту листа, где нужно искать, имя "rngSearch".
    'Здесь вместо "A1" можно указать строку, с которой нужно искать.
            Set rngSearch = Worksheets(jSheet).Range("A1:A" & myLastRow_1)
            
    '7. Осуществляем поиск.
    'After:=rngSearch.Cells(rngSearch.Rows.Count, 1) - здесь указываем,
    'что поиск начинаем с последней ячейки. Это связано с тем, что поиск
    'начинается после указанной ячейки, чтобы данные брались в том порядке,
    'в котором они находятся на листе.
    'LookAt:=xlPart - поиск по частичному совпадению, например "груш".
            Set rngFind = rngSearch.Find(What:=CStr(shSheet_1.Cells(iSheet_1, "A").Value), _
                After:=rngSearch.Cells(rngSearch.Rows.Count, 1), LookIn:=xlValues, _
                LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
                
    'Если слово не будет найдено, то в переменной "rngFind"
    'будет содержаться слово "Nothing".
            If rngFind Is Nothing Then
            
    'Переходим к следующему листу.
                GoTo metka
            
            End If
            
    'Если был результат поиска, то найденной ячейке
    'даётся имя "rngFind". Через это имя можно обращаться к
    'найденной ячейке.
    '8. Запоминаем адрес ячейки, чтобы потом остановить поиск,
    'дойдя до этой же ячейки.
            myAddress = rngFind.Address
            
    'Ведём поиск, пока не вернёмся к первой найденной ячейке.
            Do
            
    '9. Копируем строку на последний лист
                rngFind.EntireRow.Copy Destination:=shLast.Range("A" & myLastRow_2)
                
    '10. Подготавливаем номер строки на последнем листе
    'для следующих данных.
                myLastRow_2 = myLastRow_2 + 1
                
    '11. Ищем дальше в том же диапазоне.
                Set rngFind = rngSearch.FindNext(rngFind)
                
            Loop While rngFind.Address <> myAddress
            
metka:
        
        Next jSheet
    
    '12. Переход к следующей строке.
        iSheet_1 = iSheet_1 + 1
        
    Loop
 
    '13. Включаем то, что отключали в начале работы кода.
    Application.ScreenUpdating = False
    Application.EnableEvents = False
 
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit
Sub разноскаданных()
Dim i As Double
Dim iLastRow1 As Double
Dim K As Double, wsSh As Worksheet
Dim li As Long 'зачистка ячеек в листах (кроме начального)
For li = 2 To Sheets.Count
Sheets(li).UsedRange.Value = Empty
Next li
 
iLastRow1 = Sheets("main").Cells(Rows.Count, 2).End(xlUp).Row 'находим последнюю строку листа main
With Sheets("main")
    On Error Resume Next
    For i = 0 To iLastRow1 'перебираем весь столбец по условию до последней строки
    Set wsSh = Sheets(Trim(.Cells(i + 3, 4).Value))
        If Not wsSh Is Nothing Then
            wsSh.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 15).Value = .Cells(i + 3, 1).Resize(, 15).Value
        Else
            Sheets("інші").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 15).Value = .Cells(i + 3, 1).Resize(, 15).Value
        End If
        Set wsSh = Nothing
    Next i
End With
End Sub
0
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
25.01.2013, 16:06 7
undefined7, по первому и второму вопросу.

Для примера, добавьте в книгу из сообщения #1 два листа и поясните, что нужно.
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
26.01.2013, 14:47  [ТС] 8
Цитата Сообщение от Скрипт Посмотреть сообщение
undefined7, по первому и второму вопросу.

Для примера, добавьте в книгу из сообщения #1 два листа и поясните, что нужно.
добавил файл
1. что нужно прописать в данный код, чтобы он в каждом создаваемом листе вставлял ещё:
для ячейки A1, на создаваемом листе копировал бы формулы с листа0 диапазона B1:P1, в создаваемом листе в B1:P1
для ячейки A2, на создаваемом листе копировал бы формулы с листа0 диапазона B2:P2, в создаваемом листе в B1:P1
для ячейки A3, на создаваемом листе копировал бы формулы с листа0 диапазона B3:P3, в создаваемом листе в B1:P1
и т.д.

2. что нужно прописать в код, чтобы если не находило слово из листа0 диапазон A1:A25 добавлял бы в листе с названием "другие".
В инете нашёл такого рода код последний снизу, частично он выполняет те функции которые мне необходимы.
0
Вложения
Тип файла: rar 1.rar (432.3 Кб, 20 просмотров)
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
26.01.2013, 14:51 9
undefined7, добавьте в книгу новые листы, как будто эти листы сделал макрос. Чтобы посмотреть, что на новых листах должно быть. Добавьте два листа.
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
26.01.2013, 18:20  [ТС] 10
добавил файл.
Ещё возник вопрос, почему-то после пересчёта книги не включается обратно автоматический пересчёт формул.
Вначале мы его отключаем:
Visual Basic
1
2
3
4
5
6
7
    '1. На время работы кода для ускорения работы кода отключаем:
    'Обновление монитора.
    Application.ScreenUpdating = False
    'Пересчёт формул.
    Application.Calculation = xlCalculationManual
    'События.
    Application.EnableEvents = False
потом его включаем:
Visual Basic
1
2
3
4
    '13. Включаем то, что отключали в начале работы кода.
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
0
Вложения
Тип файла: rar 1.rar (686.3 Кб, 22 просмотров)
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
26.01.2013, 18:32 11
Пункт 1

Цитата Сообщение от undefined7 Посмотреть сообщение
1. что нужно прописать в данный код, чтобы он в каждом создаваемом листе вставлял ещё:
для ячейки A1, на создаваемом листе копировал бы формулы с листа0 диапазона B1:P1, в создаваемом листе в B1:P1
а где в книге из сообщения #10 это?


Пункт 2

Ошибка в коде из сообщения #5. Вот так надо:
Visual Basic
1
2
3
4
    '12. Включаем то, что отключали в начале работы кода.
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
26.01.2013, 20:19  [ТС] 12
Цитата Сообщение от Скрипт Посмотреть сообщение
Пункт 1


а где в книге из сообщения #10 это?
это находиться на листе0, в ячейке A находиться название которое нужно создавать отдельный лист, а далее уже идёт формула - которую нужно прописать в создаваемом листе

Цитата Сообщение от Скрипт Посмотреть сообщение
Пункт 2

Ошибка в коде из сообщения #5. Вот так надо:
Visual Basic
1
2
3
4
    '12. Включаем то, что отключали в начале работы кода.
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
сам нашёл уже, но не смог отредактировать сообщение
0
5460 / 1140 / 50
Регистрация: 15.09.2012
Сообщений: 3,444
26.01.2013, 21:14 13
undefined7, вы пишите в своих сообщениях, что формулы нужно брать из диапазона столбцов B и P, а у вас формулы на листе Лист0 начинаются в столбце C, а заканчиваются в столбце O. Как это понять?
1
259 / 7 / 1
Регистрация: 22.01.2013
Сообщений: 47
26.01.2013, 21:21  [ТС] 14
Цитата Сообщение от Скрипт Посмотреть сообщение
undefined7, вы пишите в своих сообщениях, что формулы нужно брать из диапазона столбцов B и P, а у вас формулы на листе Лист0 начинаются в столбце C, а заканчиваются в столбце O. Как это понять?
да, вы правы, начиная с C, и тоже в C подаставлять нужно. до O
0
Люба1
28.01.2013, 12:39 15
Помогите пожалуйста разобраться с кодом:
Задача:
дано 2 листа в икселе, а каждом из них заполнены 1 и 2 столбец, при чем заполнено все это таким образом Лист1(wer.ru, аня), лист2(аня, 23) соответственно столбцам, надо чтобы по нажатию кнопки значения всех строк 1 столбца 1 листа копировались в 1 столбец 3 листа, а значения 2столбца 2 листа копировались в 2столбец 3 листа, и при этом выполнялось условие значение ячеек (лист1, столбец 2) = значению ячеек(лист2, 1стоббец), в общем если аня из первого листа = аня из второго, то wer.ru в 1 столбец и 23 во второй столбец в 3 лист копировать, и так по всем ячейкам.
Sub sortirovka()
Dim i As Integer
Dim a As Single
Dim b As Single
a = Worksheets("2").Cells(i, 1).Value
For i = 1 To Worksheets.Count
If Worksheets("1").Cells(i, 2).Value = a Then
Worksheets("2").Cells(i, 2).Value.Copy Worksheets("3").Cells(i, 2) '.PasteSpecial'
End If
Next i

End Sub
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2013, 12:39

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вставить в Excel 2010 рисунки из папки в отдельные листы
Здравствуйте! Помогите пожалуйста написать макрос в Excel 2010: По нажатию кнопки находится папка,...

Макрос для разбиения листа рабочей книги на отдельные листы
Добрый день! Подскажите, возникла проблема с написанием макроса для разбиения листа, состоящего...

Могу ли я сохранить макросом в рабочую книгу отдельные листы из другой рабочей книги?
Могу ли я сохранить макросом в рабочую книгу отдельные (конкретные имена) листы из другой рабочей...

Разбиение файла Word на отдельные листы при двусторонней печати по две страницы на листе
Добрый вечер. Прошу помощи, так как основательно запутался в решении данной задачи при моих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.