Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
VBA Разрыв ТОЛЬКО ошибочных связей в excel Добрый день форумчане! Нужна ваша помощь. Есть много файлов. В них есть ссылки-привязки связей на другие книги. Раньше эти связи были нужны. А теперь часть книг были удалены(т.к. перестали быть нужными данные из них). И теперь при открытии файла выдаёт ошибку при обновлении связей. И приходится в ручную разрывать связи с теми книгами , которые были удалены, и теперь не существуют. Файлов много,... https://www.cyberforum.ru/ vba/ thread1807788.html Case не работает со значением ячейки. Как исправить? VBA
GJTBuffer = InstSheet.Cells(Alfa + i, Gamma + 3).Value MsgBox "GJTBuffer =" & GJTBuffer Select Case GTJBuffer Case 1: MsgBox GJTBuffer & " 1}" GetJobType = RGB(0, 0, 0) Case 2: MsgBox GJTBuffer & " 2}" GetJobType = RGB(255, 0, 0) Case 3:
VBA Вывести строку соответствующего числа https://www.cyberforum.ru/ vba/ thread1807699.html
Написать код. Дано целое число в диапазоне 1-7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.). За ранее спасибо.
VBA Проверить истинность условия Написать код. Записать условие, которое является истинным, когда точка с координатами (х, у) попадает в заштрихованные участки плоскости: За ранее спасибо. https://www.cyberforum.ru/ vba/ thread1807698.html
VBA Проверить истинность высказывания: «Данные поля имеют разный цвет»
Написать код. Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в диапазоне 1-8). Проверить истинность высказывания: «Данные поля имеют разный цвет». За ранее спасибо.
VBA Проверить истинность высказывания https://www.cyberforum.ru/ vba/ thread1807693.html
Написать код. Даны числа х, у. Проверить истинность высказывания: «Точка с координатами (х, y) лежит в третей координатной четверти». За ранее спасибо.
VBA Проверить истинность высказывания https://www.cyberforum.ru/ vba/ thread1807691.html
Написать код. Даны два целых числа: А, В. Проверить истинность высказывания: «Каждое из чисел А и В нечетное». За ранее спасибо.
VBA Странное поведение пользовательской формы
Добрый день! Проблема такая: существует форма на которой есть кнопки и Multipage. При переключении между листами Multipage с помощью кнопок, все элементы на этом листе отображаются неправильно (некоторые вообще не отображаются, остальные имеют рандомное положение и размер). При этом если форму сдвинуть мышью, то все становится корректным. Метод Repaint не помогает. При активации форму...
VBA Свод по нескольким листам Excel https://www.cyberforum.ru/ vba/ thread1807357.html
Всем привет, очень нужна помощь ! Есть такая задачка : в файле Excel имеется несколько листов ( может быть от 1 до 100 примерно ) , в этих листах данные по продаже товаров ( некоторые наименования товаров в разных листах повторяются ) . Ломаю голову на тем, как сделать макрос , в который будет собирать данные из всех листов, вставлять в новый лист (созданный перед всеми) , оставлять только...
VBA Сравнение ячеек и вставка https://www.cyberforum.ru/ vba/ thread1807331.html
Доброго дня! Просьба помочь. Нужен макрос. Есть два листа exel необходимо чтобы все ячейки столбца А,Листа2(всего их 370) сравнивались со всеми ячейками листа1 и если сравнение истинно, то значение Аn Листа1 (n - номер ячейки в котором нашлось искомое значение), вставлялось в ячейку Bm листа2 (m номер ячейки которую сравниваем). Все значения ячеек строковые. В листе1 может быть несколько...
Конкатенация и последующее копирование уникальных строк по условию VBA
В файле есть 2 рабочих листа. Требуется с одного листа(List1), начиная с колонки С10, конкатенировать значения ячеек по строке до тех пор, пока не в следующей ячейке не встретится определенное слово ("Equities", "FI"). Полученный результат копируется в другой лист(Report). Это делается построчно, если в следующей строке результат конкатенации тот же - ячейка не сохраняется. Я понял, как делать...
VBA Вставка текста в текущее письмо https://www.cyberforum.ru/ vba/ thread1807285.html
Доброго времени суток! Возникла необходимость по условию (текущее время) вставлять в тело текущего письма текст. Пользуемся Outlook 2016. Как создавать новое письмо - примеров кода на VBA полно. А вот по работе с открытым письмом примеров кода на VBA на нашёл. Подскажите, пожалуйста, как в текущее положение курсора в открытом письме вставлять с помощью VBA текст?
19 / 19 / 5
Регистрация: 23.04.2014
Сообщений: 72
19.09.2016, 17:19 0

Макрос для работы с несколькими документами - VBA - Ответ 9556832

19.09.2016, 17:19. Показов 1649. Ответов 8
Метки (Все метки)

Ответ

Честно говоря, не проверял, но должно работать.
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
Option Base 1
 
Sub qweqwe()
Dim Wb As Workbook
Dim Nwb As Workbook
Dim Da1 As Date, Da2 As Date
Dim FDS As FileDialogSelectedItems
Dim File$, k As Long, s As Long, sC%
Dim Arr1, Arr2, Arr3
Dim Arr
Dim MaxSc%
 
Application.ScreenUpdating = False
 
Da1 = ThisWorkbook.Sheets(1).Cells(1, 1)
Da2 = ThisWorkbook.Sheets(1).Cells(1, 2)
 
Set Wb1 = Workbooks.Open(GFC("Выберите файл1", ThisWorkbook.Path))
Set Wb2 = Workbooks.Open(GFC("Выберите файл2", ThisWorkbook.Path))
Set Wb3 = Workbooks.Open(GFC("Выберите файл3", ThisWorkbook.Path))
 
s = Wb1.Sheets(1).Cells(1, 1).End(xlDown).Row
sC = Wb1.Sheets(1).Cells(1, 1).End(xlToRight).Column
If sC > MaxSc Then MaxSc = sC
Arr1 = Range(Wb1.Sheets(1).Cells(1, 1), Wb1.Sheets(1).Cells(s, sC))
 
s = Wb2.Sheets(1).Cells(1, 1).End(xlDown).Row
sC = Wb2.Sheets(1).Cells(1, 1).End(xlToRight).Column
If sC > MaxSc Then MaxSc = sC
Arr2 = Range(Wb2.Sheets(1).Cells(1, 1), Wb2.Sheets(1).Cells(s, sC))
 
s = Wb3.Sheets(1).Cells(1, 1).End(xlDown).Row
sC = Wb3.Sheets(1).Cells(1, 1).End(xlToRight).Column
If sC > MaxSc Then MaxSc = sC
Arr3 = Range(Wb3.Sheets(1).Cells(1, 1), Wb3.Sheets(1).Cells(s, sC))
 
Wb1.Close False
Wb2.Close False
Wb3.Close False
 
ReDim Arr(UBound(Arr1) + UBound(Arr2) + UBound(Arr3), MaxSc)
 
k = 1
 
 
For i = 1 To UBound(Arr1)
    If CDate(Arr1(i, 1)) >= Da1 And CDate(Arr1(i, 1)) <= Da2 Then
        For j = 1 To UBound(Arr1, 2)
            Arr(k, j) = Arr1(i, j)
        Next j
        k = k + 1
    End If
Next i
 
For i = 1 To UBound(Arr2)
    If CDate(Arr2(i, 1)) >= Da1 And CDate(Arr2(i, 1)) <= Da2 Then
        For j = 1 To UBound(Arr2, 2)
            Arr(k, j) = Arr2(i, j)
        Next j
        k = k + 1
    End If
Next i
 
For i = 1 To UBound(Arr3)
    If CDate(Arr3(i, 1)) >= Da1 And CDate(Arr3(i, 1)) <= Da2 Then
        For j = 1 To UBound(Arr3, 2)
            Arr(k, j) = Arr3(i, j)
        Next j
        k = k + 1
    End If
Next i
 
Set Nwb = Workbooks.Add(xlWBATWorksheet)
Nwb.Sheets(1).Cells(1, 1).Resize(UBound(Arr), UBound(Arr, 2)) = Arr
 
End Sub
 
Function GFC(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath, _
                     Optional ByVal MyFilter As String = "Excel (*.xls*),") As String
    If Not IsMissing(InitialPath) Then
        On Error Resume Next: ChDrive Left(InitialPath, 1)
        ChDir InitialPath
    End If
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")
    GetFileName = IIf(VarType(res) = vbBoolean, "", res)
End Function


Вернуться к обсуждению:
Макрос для работы с несколькими документами VBA
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2016, 17:19
Готовые ответы и решения:

Небольшая бд в Excel для работы с документами
Здравствуйте! Подскажите пожалуйста как с этим побороться... Решил программно облегчить...

Xpath для работы с xml документами
Добрый вечер.Столкнулась с задачей,требующей преобразование xml документа,хранящегося в одной из...

Инструменты для работы с Compound документами
Подскажите, пожалуйста, есть ли для VB интрументы для работы с Compound документами (документы...

База данных для работы с архивными документами
Я историк, делаю большой научный проект, предполагающий работу с архивным материалом. Сложная...

8
19.09.2016, 17:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2016, 17:19
Помогаю со студенческими работами здесь

Планшет для инета, работы с документами, 1С и фотошопом
Добрый день. Какой планшет лучше взять,чтобы можно было ползать в инете,работать с документами,1С...

Программа для работы с Excel и Word документами
Подскажите, пожалуйста, какими инструментами лучше воспользоваться. Требуется написать программу,...

Ноутбук для работы с большими документами Excel / до $1000
Доброго времени суток, форумчане. Возникла необходимость в покупке нового ноутбука. Основной...

Какая линукс подойдёт для работы с таблицами и документами?
какой линукс, внешне похожий на windows xp и руссифицированный, поставить работнику, работают с...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru