Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Объединение пустых ячеек столбцов построчно в заданном диапазоне.
 
Безмерно благодарен Вам МатросНаЗебре!  Всё работает как надо, вы мастер!
Объединение пустых ячеек столбцов построчно в заданном диапазоне.
 
Спасибо уважаемый МатросНаЗебре! Позвольте уточнить, а как расшить макрос на объединение ячеек в графе №9. Сейчас пробую сам дописать, но чёт не уверен, что справлюсь.

Встроить этот макрос в основной будет следующим уровнем сложности! Будем экспериментировать. Не получится, значит буду их использовать отдельно друг от друга.
Изменено: БМВ - 29.04.2022 12:31:02
Объединение пустых ячеек столбцов построчно в заданном диапазоне.
 
Здравствуйте, уважаемые гуру VBA. Прошу помочь разобраться в следующей ситуации:
При проведении инвентаризации возникла необходимость немного автоматизировать процесс. Из 1С выгружается кривая ведомость (во вложении). Графа №8 (статус объекта учета) делится на 3 столбца (AJ,AK,AL), графа №9 (целевая функция актива) на столбцы AM:AR, а одни должны быть едиными ячейками - как показано на листе "Как должно быть". Для того чтобы объединить столбцы в строках пишу макрос (пока только для графы №8):
Код
Sub Rec()
Dim i As Long
Dim j As Long
Dim k As Long
Dim myRange As Range
Set myRange = Range("AJ41:AL500")
Application.DisplayAlerts = False

For k = 1 To myRange.Areas.Count
  For i = 1 To myRange.Areas(k).Rows.Count
  For j = 1 To myRange.Areas(k).Columns.Count
    If myRange.Areas(k).Cells(j, i).Value = "" Then
    myRange.Areas(k).Rows(i).Merge
    myRange.Areas(k).Cells(i, 1).HorizontalAlignment = xlHAlignCenter
    End If
    Next
    Next
Next
Application.DisplayAlerts = True
End Sub
Но после его выполнения, слетает форматирование и в тех строках, которые не должны меняться. Подскажите пожалуйста, в чём ошибка?

На исходном листе нужные диапазоны выделил толстой границей.

Разрабатываемый макрос планируется встроить в другой макрос, который уже вносит изменения в инвентарные описи без их открытия (их больше 1000 шт):
Код
Sub Макрос1()

Dim FilesToOpen
Dim x As Integer
    Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", _
MultiSelect:=True, Title:="Выберите файлы")
If TypeName(FilesToOpen) = "Boolean" Then
    MsgBox "Не выбрано ни одного файла!"
    GoTo ExitHandler
End If
x = 1
    Application.Visible = False
While x <= UBound(FilesToOpen)
    Workbooks.Open Filename:=FilesToOpen(x)

    Sheets(1).Range("BP17").Value = "10.06.2022"  'на листе 1 в ячейку BP17 написать "Новая дата окончания"
    Sheets(1).Range("AL1:AL1500").Replace What:="А. А. Корешков", Replacement:="А. А. Котов"
    Sheets(1).Range("AJ41:AL41").Merge 'на листе 1 объединить ячейки AJ41:AL41
    Sheets(1).Range("AM41:AR41").Merge 'на листе 1 объединить ячейки AM41:AR41

    ActiveWorkbook.Close savechanges:=True
    x = x + 1
Wend

ExitHandler:
    Application.ScreenUpdating = True
    Application.Visible = True
    Exit Sub
ErrHandler:
    MsgBox Err.Description
    Resume ExitHandler
End Sub

Если удастся вписать нужные строки кода в него, то буду безмерно благодарен!

Задал такой же вопрос на форуме http://www.excelworld.ru/forum/10-49799-1
Изменено: Сергей GeSS - 29.04.2022 12:30:00
Макросом открыть диалоговое окно для выбора нового источника данных
 
Не работает макрос для кнопки, открывающей диалоговое окно для выбора нового источника данных.
Макросом открыть диалоговое окно для выбора нового источника данных
 
Добрый день, уважаемые эксперты.
Есть отчёт об ошибках работы специалистов, который собирает данные из двух других отчётов в формате csv. Первый - это отчёт об обработанной информации, второй это отчёт об ошибках допущенных в процессе обработки информации. Первый отчёт подключен как источник данных, второй просто ссылками (но это предстоит переделать, т.к. при изменении связи на новый файл Excel не видит csv). Макрос привязанный к кнопке в файле "Отчёт об ошибках" должен открывать диалоговое окно изменения источника данных и он вроде открывает но ничего не добавляет...
Основной файл с макросом: Отчёт об ошибках
Источник данных: Статистика работы за 10.07.2020
2й источник данных, прикрученный через ссылки: Акты об ошибках за 10.07.2020
Помогите допилить макрос пожалуйста.
Копирование ячеек разных цветов на разные листы через VBA, Макрос для кнопки, по нажатию на которую данные из ячеек с разными цветами разносятся по разным листам.
 
Цитата
Андрей VG написал: Может вам всё же поступать как Задорнов? Тот никогда не называл себя инженер авиаконструктор.
Может вам перестать давать советы не по-существу, а своё мнение высказать в соответствующих флудилках форума и не разбавлять эту ветку водой?  
Копирование ячеек разных цветов на разные листы через VBA, Макрос для кнопки, по нажатию на которую данные из ячеек с разными цветами разносятся по разным листам.
 
Огонь! Добавил строки по совету Дмитрий(The_Prist) Щербаков, и стало работать моментально!
Итог: именно то, что мне и было нужно!

Юрий М, вам огромное спасибо! Теперь мне в целом понятно, что написано в вашем макросе, и понятно, что я вообще не в том направлении рыл. Я кстати пытался адаптировать под мою задачу ваш макрос из другой ветки форума, по похожей задаче, но так и не справился...
Всем спасибо за участие!!!
Копирование ячеек разных цветов на разные листы через VBA, Макрос для кнопки, по нажатию на которую данные из ячеек с разными цветами разносятся по разным листам.
 
Юрий М, Скачал скинутый вами вариант, нажал на кнопку "Распределить" и мой комп завис... Я отправил его в перезагрузку, а сам лёг спать (было уже очень поздно, я просто отрубился)! Сейчас снова запустил файл, зашёл в тело макроса, нажал на Run и он долго висел в статусе running... Не пойму почему так... Затем нажал на кнопку "Распределить" и убедился что процедура выполняется, но почему-то оочень долго! У меня дома Predator Helios 300, а вот на работе комп совсем слабенький боюсь ваще ляжет...

Цитата
Андрей VG написал: [программировании 0] не приветствуется.
Каждому своё, я IT-инженер и педагог доп. образования. От программирования далёк, сталкиваюсь редко.

За слово "пипец" прошу прощения, наболело. Дня 4 уже долбаюсь с этим макросом, собирая инфу по кускам на профильных форумах.
Копирование ячеек разных цветов на разные листы через VBA, Макрос для кнопки, по нажатию на которую данные из ячеек с разными цветами разносятся по разным листам.
 
Добрый день. Прошу помочь доделать макрос. Я в программировании 0, но макрос пипец как нужен! Ситуация следующая:
1. В первый лист (Общий) вставляется список людей с тремя типами заливки (жёлтый, зелёный, без заливки)
2. По нажатию на кнопку "Разделить":
а) люди из общего списка без заливки копируются во второй лист (Специалисты)
б) люди из общего списка с зелёной заливкой копируются в третий лист (Практиканты)
в) люди из общего списка с жёлтой заливкой копируются в четвёртый лист (Старшие)
В случае повторного нажатия на кнопку "Разделить" цикл должен повториться, то есть если я впечатал ещё пару тройку человек в общий список, а одного удалил, то после нажатия "разделить" новые разносятся по листам, а удалённые удаляются. Прикладываю файл с таблицей, в которой макрос работает, но только на одно условие (жёлтая заливка)... Добавить ещё 2 условия ну никак не получается... Помогите пожалуйста!
Изменено: Сергей GeSS - 11.07.2020 11:51:18
Страницы: 1
Наверх