Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VBA Найти среднее значение элементов второго столбца матрицы найти среднее значение элементов 2-го столбца, максимальное значенне этих элементов и количество значений меньших 78. Вот что у меня получилось, но оно не работает чего-то, помогите пожалуйста Option Base 0 ' Опис змінних рівня модуля Dim Список(3, 2) As Variant, i As Integer Dim СписокВиводу(3) As Variant Private Sub CommandButton1_Click() 'процедура проведення обчислень з вибраними... https://www.cyberforum.ru/ vba/ thread713612.html Обращение к файлам rtf из VBA Word для копирования содержимого VBA
Кто знает каким образом можно копировать части rtf файла в ворд? Как пример кусочек кода: fname = "C:\НАКАЗ.rtf" Set doc2 = ActiveDocument ActiveDocument.Content.Text = "" Set doc1 = Documents(fname) 'здесь возникает ошибка -"неправильный тип файла" doc1.Open FileName:=fname s = doc1.Content.Text В дальнейшем нужно периодически обращаться к файлу rtf...
VBA Автосортировка по указаному номеру столбца Всем доброго времени суток. У меня возникла такая проблема. Не знаю как осуществить следующее. Есть файл эксель, там много столбцов. И есть ячейка. Если мы укажем в ячейке, к примеру 1, сортируется столбец А (по возрастанию), если - 4 , то D и так далее Может подскажет кто что и как делать? https://www.cyberforum.ru/ vba/ thread713490.html VBA Вставка относительных ссылок в формулу посредством переменных https://www.cyberforum.ru/ vba/ thread713425.html
Добрый день. я который раз возвращаюсь к одной загвоздке в своем макросе и никак не могу ее решить. помогите пожалуйста. есть вырезка из кода: k = ActiveCell.Offset(-9, -5).Address(0, 0, ReferenceStyle:=xlR1C1) s = ActiveCell.Offset(-9, -6).Address(0, 0, ReferenceStyle:=xlR1C1)
VBA Построение диаграммы. Создание нового тега и ошибка "type mismatch"
Здравствуйте! После запуска макроса выдает ошибку run-time error 13 type mismatch в этом месте кода: X1 = Range(Workbooks(MyName).Worksheets(MyDannie).Cells(iRowi + 7, iClmj + 3), Workbooks(MyName).Worksheets(MyDannie).Cells(iRow1, iClmj + 3)).Value Не могу разобраться в причине ее возникновения. Попытался уменьшить количество аргументов. Проблему не решило. Подскажите как исправить проблему....
VBA Поиск на листах и систематизация данных https://www.cyberforum.ru/ vba/ thread713297.html
На "Лист1" в 1 столбце находится список организаций в столбец 2 и 3 должны копироваться данные со 2 и 3 листа. На 2 и 3 Лист выгружаются данные из разных программ 1С и ИМУС нужно что бы макрос отыскивал на "Лист2" организацию например "Стройматериалы" брал данные из 2 столбца и записывал их на "Лист1" в 2 столбец напротив "Стройматериалы" далее находил "Стройматериалы" на "Лист3" копировал данные...
VBA Переключение языка ввода в зависимости от столбца Добрый день! Есть таблица из двух колонок. Как прописать макрос, который бы делал следующее?: 1. если курсор находится в первой колонке - язык ввода становится русским 2. если курсор находится во второй колонке - язык ввода становится английским https://www.cyberforum.ru/ vba/ thread713186.html VBA Получить метки дисков
Есть форма для выбора диска, на который нужно сохранить отчет Excel. Т.к. очень часто нужно сохранить отчет на флешку, возникла необходимость выводить в ComboBox не только букву диска, но и его метку (чтоб у неопытных пользователей не возникало трудностей при поиске нужного устройства). Все работает кроме вывода метки диска : Private Declare Function GetLogicalDriveStrings Lib "kernel32"...
VBA Проверка на число в InputBox вызывает ошибку https://www.cyberforum.ru/ vba/ thread713125.html
a = InputBox("a") Do While Not IsNumeric(a) MsgBox "Ошибка" a = InputBox("a") Loop b = InputBox("b") Do While Not IsNumeric(b) MsgBox "Ошибка" b = InputBox("b") Loop
VBA Реализовать оповещение, если в заданный промежуток времени от адресата нет письма https://www.cyberforum.ru/ vba/ thread713123.html
Как можно реализовать оповещение, если в заданный промежуток времени от адресата нет письма. К примеру есть адресаты с ящиками ввида: mail1@example.com mail2@example.com ......... mail100@example.com Если в заданный период времени, допустим, раз в сутки, от одного из адресатов нет письма, то приходило бы письмо/оповещение об этом.
VBA Передавать в макрос параметры в зависимости от выбранной ячейки
Суть такова: мне нужно привязать уже готовый макрос к нескольким ячейкам (макрос - на внешний запуск приложения) но при этом ещё сделать условие что если одна ячейка вызов проги с одним параметром, другая ячейка с другим параметром Сама программа на Delphi 7 надеюсь на вашу помощь)))
VBA Автоматический ввод пароля при открытии файла Excel Добрый день! По работе каждый день приходится сталкиватся с множеством Excel-файлов, на которых стоит один и тот же пароль. Все эти файлы имеют схожее название и представляют собой примерно следующее: "forex" + date, то есть forex211012, forex221012, forex271112. На всех стоит один и тот же пароль. Каждый раз ввод
5605 / 1591 / 412
Регистрация: 23.12.2010
Сообщений: 2,382
Записей в блоге: 1
05.02.2016, 13:41 0

Авторские программы, библиотеки, надстройки и шаблоны - VBA - Ответ 8714389

05.02.2016, 13:41. Показов 253683. Ответов 254
Метки (Все метки)

Ответ

Бывает необходимость параллельной поменять формулу в определенной ячейке (или диапазоне) на одноименных листах во множестве одновременно открытых книг одинаковой структуры. Либо по образцу с активной книги, либо дописав формулу справа, либо по шаблону изменения. Данные макросы решают эти задачи, заодно копируют формат.
Кликните здесь для просмотра всего текста
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
Sub Копировать_формулу_по_книгам()
    If TypeName(Selection) <> "Range" Then MsgBox "Не выделен диапазон. Работа прекращена.": Exit Sub
    Dim i&, j&, k%, DiaAdr$, NazvLista$, Msg$, r As Range, aBook As Workbook, Sh As Worksheet
    With Application
        .CutCopyMode = xlCopy
        .ScreenUpdating = False
    End With
    Set aBook = ActiveWorkbook
    NazvLista = ActiveSheet.Name
    DiaAdr = Selection.Address()
    Set r = ActiveSheet.Range(DiaAdr)
    For k = 1 To Workbooks.Count
        ' Не работать с образцом и с книгой запуска макроса (Personal или надстройкой)
        If Not ((Workbooks(k) Is aBook) Or (Workbooks(k) Is ThisWorkbook)) Then
            If SheetExists(NazvLista, Workbooks(k)) Then
                With Workbooks(k).Worksheets(NazvLista)
                    .Activate
                    r.Copy
                    With .Range(DiaAdr)
                        .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
                        .Select
                        For i = 1 To .Rows.Count
                            For j = 1 To .Columns.Count
                                .Cells(i, j).Formula = r.Cells(i, j).Formula
                            Next
                        Next
                    End With
                End With
            Else
                Msg = Msg & "В книге " & Workbooks(k).Name & " не существует лист " & NazvLista & vbCrLf
            End If
        End If
    Next k
    aBook.Activate
    If Msg <> "" Then MsgBox Msg
    Set aBook = Nothing: Set r = Nothing
End Sub
 
Sub Модификацировать_формулы_по_книгам()
    If TypeName(Selection) <> "Range" Then MsgBox "Не выделен диапазон. Работа прекращена.": Exit Sub
    Dim i&, j&, k%, DiaAdr$, NazvLista$, Msg$, fPrefix$, fPostfix$, F$, r As Range, aBook As Workbook, Sh As Worksheet
    fPostfix = InputBox("Введите добавляемую правую часть формулы либо шаблон изменения, в котором @@@ -старая формула без знака =")
    If fPostfix = "" Then Exit Sub
    If UBound(Split(fPostfix, "@@@")) = 1 Then
        fPrefix = Split(fPostfix, "@@@")(0)
        fPostfix = Split(fPostfix, "@@@")(1)
    End If
    If Left(fPrefix, 1) <> "=" Then fPrefix = "=" & fPrefix
    With Application
        .CutCopyMode = xlCopy
        .ScreenUpdating = False
    End With
    Set aBook = ActiveWorkbook
    NazvLista = ActiveSheet.Name
    DiaAdr = Selection.Address()
    Set r = ActiveSheet.Range(DiaAdr)
    For k = 1 To Workbooks.Count
        ' Не работать с книгой запуска макроса (Personal или надстройкой)
        If Not (Workbooks(k) Is ThisWorkbook) Then
        If SheetExists(NazvLista, Workbooks(k)) Then
            With Workbooks(k).Worksheets(NazvLista)
                .Activate
                r.Copy
                With .Range(DiaAdr)
                    .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
                    .Select
                    For i = 1 To .Rows.Count
                        For j = 1 To .Columns.Count
                            F = .Cells(i, j).Formula
                            If Left(F, 1) = "=" Then F = Mid(F, 2)
                            F = fPrefix & F & fPostfix
                            .Cells(i, j).Formula = F
                        Next
                    Next
                End With
            End With
        Else
            Msg = Msg & "В книге " & Workbooks(k).Name & " не существует лист " & NazvLista & vbCrLf
        End If
        End If
    Next k
    aBook.Activate
    If Msg <> "" Then MsgBox Msg
    Set aBook = Nothing: Set r = Nothing
End Sub
Function SheetExists(SheetName, wb As Workbook) As Boolean
    Dim Sh As Worksheet
    For Each Sh In wb.Worksheets
        If Sh.Name = SheetName Then SheetExists = True: Exit Function
    Next Sh
End Function


Вернуться к обсуждению:
Авторские программы, библиотеки, надстройки и шаблоны VBA
3
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2016, 13:41
Готовые ответы и решения:

Программы на 1С и авторские права
На форуме много сильных программистов, полагаю, что кто-то пишет и отдельные программы. Интересует...

Поменять авторские права в описании программы
Народ подскажите как поменять авторские права в описании программы, срочно надо. Пож-та

Полезные коды и авторские программы на Lisp
Расскажите, пожалуйста, что на лиспе пишите? вкратце, хотя бы. Очень интересно. Понятно, что...

Шаблоны и динамические библиотеки
Зачем им динамические реализации, там ведь одни шаблоны и достаточно заголовочных файлов?(Boost...

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

Где хранятся шаблоны во время выполнения программы?
Где хранятся шаблоны во время выполнения программы? и если у меня если: template&lt;typename T&gt;...

Шаблоны проектирования для смены языка программы.
Требуется создать библиотеку для смены языка пользовательского интерфейса программ. В принципе,...

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по...

Библиотеки программы
Знаю, что подобные темы обсуждались, но ничего путного не нашел. Написал программу CLR, но...

Чем отличаются шаблоны HTML и шаблоны WordPress
В чём различие между шаблонами HTML и WordPress. Кроме того, что создаются они разными способами....

Библиотеки для программы
Какие библиотеки нужно подключить? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

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