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

Страницы: 1 2 3 4 5 6 7 След.
вставить формулу со ссылкой на соседнюю ячейку по условию
 
Поправила в коде. Вроде работает.
Код
Cells(i, 2) = "=CONCATENATE(A" & (i - 1) & ",B" & (i - 1) & ")"
вставить формулу со ссылкой на соседнюю ячейку по условию
 
Marat Ta здравствуйте, Вы правы, мне необходимо выполнить другую выборку.
Помогите изменить код. Мне код, предложенный Behruz A.N. очень подошел. Буду Вам очень признательна.
вставить формулу со ссылкой на соседнюю ячейку по условию
 

Здравствуйте! Помогите, пожалуйста, с кодом.

Необходимо найти строку "Итого по " в столбце C и в столбце В в этой же строке вставить формулу,

которая будет ссылаться на ячейки верхней строки, т.е.:

в ячейке B24 должна стоять формула =сцепить (А23:B23)

в ячейке B26 должна стоять формула =сцепить (А25:B25)

в ячейке B28 должна стоять формула =сцепить (А27:B27) и т.д..

Количество строк каждый раз меняется в пределах от 5000-7000.

Данные начинаются всегда со строки 17:17.

В дальнейшем все строки, кроме строк , содержащих "Итого по " будут удалены

Результат на Листе 053_2

Изменено: RMG - 09.07.2023 07:13:44
Перенести данные по условию. Макрос
 
Behruz A.N.  Здорово! Это то, что мне необходимо было сделать. Спасибо большое!!!
Перенести данные по условию. Макрос
 
Behruz A.N. удалить теперь необходимо B17, B19, B 21,  
то есть это те строки в которых в столбце С нет "Итого по"
Перенести данные по условию. Макрос
 
Behruz A.N. спасибо, но я поправила с учетом того, что я хотела,
Код
Cells(i, 2) = Cells(i - 1, 2)

но вот с удалением строк тогда не получится
Код
Rows(i).Delete
Теперь получается необходимо удалить строки в которых в столбце A, начиная со строки 17,
ячейка пустая. А оставить строки, в которых в столбце С указано "Итого по "
Изменено: RMG - 08.07.2023 12:02:54
Перенести данные по условию. Макрос
 

Здравствуйте. Помогите, пожалуйста, с помощью кода

необходимо найти строку "Итого по " в столбце C и скопировать данные в ячейку слева,

т.е. в ячейку B18 скопировать данные из ячейки B17

в ячейку B20 скопировать данные из ячейки B19

в ячейку B22 скопировать данные из ячейки B21.

Количество строк каждый раз меняется в пределах от 5000-7000.

Данные начинаются всегда со строки 17:17.

Более понятно, указано в примере. Пример результата на Листе "053_2".

выход из процедуры если книга не найдена
 
МатросНаЗебре  перенесла строку wbFound = True и все ОК! СПАСИБО!!!
Код
For Each wb In Workbooks
      If wb.Name Like "Файл*.xls*" Then
        wbFound = True
        wb.Activate
        MsgBox wb.Name, vbExclamation: Exit For
      End If
    Next
If wbFound = False Then
        MsgBox "Книга не найдена или не открыта": Exit Sub
    End If
выход из процедуры если книга не найдена
 
МатросНаЗебре часть кода выполняется,
Код
For Each wb In Workbooks
      If wb.Name Like "Файл*.xls*" Then
        wb.Activate
        MsgBox wb.Name, vbExclamation: Exit For
        wbFound = True
      End If
    Next
находит файл необходимый. Выдает мне его имя.
Затем переходит к следующей строке кода
Код
 If wbFound = False Then Exit Sub
и завершает код Exit Sub
Вроде как, если книга найдена, то он не должен переходить на строку и выполнять ее:
Код
 If wbFound = False Then Exit Sub
Изменено: RMG - 29.06.2023 15:36:27
выход из процедуры если книга не найдена
 
МатросНаЗебре простите, я не внимательна, не увидела, что необходимо объявить
Код
Dim wbFound As Boolean
Изменено: RMG - 29.06.2023 15:16:57
выход из процедуры если книга не найдена
 
МатросНаЗебре приятно Вас видеть! wbFound объявила как
Код
Dim wbFound As String
Ошибка при выполнении кода :Недопустимый вызов процедуры или аргумент
выход из процедуры если книга не найдена
 
Здравствуйте! Помогите, пожалуйста, внести поправки в код.
У меня не получается в коде прописать выход из процедуры если файл не найден.
Файл ищем с неточным названием среди открытых книг, последние символы файла меняются.
Если файл открыт, то код выполняется без проблем.
Но если файл не был открыт продолжается выполнение кода с активным файлом и соответственно выдается ошибка.
Код
Dim wb As Workbook
 
For Each wb In Workbooks
  If wb.Name Like "файл*.xls*" Then
  wb.Activate
  MsgBox wb.Name, vbExclamation: Exit For
  End If
Next
Что-то типа такого хотелось бы сделать:
Код
'If Not wb.Name Then MsgBox "Книга не найдена или не открыта"
'   Exit Sub
Преобразование текстового формата даты в числовой в vba
 
МатросНаЗебре за вариант с массивом очень благодарна, СПАСИБО! СПАСИБО!
Преобразование текстового формата даты в числовой в vba
 
МатросНаЗебре Благодарю! Все теперь замечательно!!!
Преобразование текстового формата даты в числовой в vba
 
Здравствуйте! Помогите, пожалуйста, преобразовать дату в столбце "Е" из текста в формат "Дата" и найти самую позднюю дату в этом столбце, т.е. ("26.06.2023").
Для поиска поздней Даты вроде получается использовать код
Код
Dim Max_date as Date
Max_date = Application.WorksheetFunction.Max(Columns("E))
MsgBox Max_date

Но преобразовать данные в столбце в Дату не получается.
Изменено: RMG - 28.06.2023 14:09:16
Активировать открытую книгу (путь использовать не получится) имя книги может измениться в части последних символов
 
Мартын спасибо!
Активировать открытую книгу (путь использовать не получится) имя книги может измениться в части последних символов
 
Мартын код выполнился правильно из книги были перенесены данные и книга закрыта как и задумывалось.
Но почему когда я проходила код по шагам (F8)  у меня книга не появилась на экране как активная, что я хотела бы увидеть?
На экране оставалась видимой книга с кодом.
Активировать открытую книгу (путь использовать не получится) имя книги может измениться в части последних символов
 
Workbooks(wb.Name).Activate и  wb.Activate нет ошибки, но и книга не активируется, остается активной книга с кодом.
Активировать открытую книгу (путь использовать не получится) имя книги может измениться в части последних символов
 
Здравствуйте! Помогите, пожалуйста, активировать книгу, которая открыта из программы и сохранять ее нет необходимости.
Она открыта с расширением .xls среди прочих других книг и мне необходимо во время выполнения кода обратиться к этой книге.
Дмитрий Щербаков(The_Prist) одному пользователю рекомендовал этот код для поиска файла среди открытых книг.
Он находит, но книгу надо активировать
Код
For each wb in Workbooks      
if wb.name like "Report Result*.xls*" then          
msgbox "УРА!!! НАШЛИ!!!",vbinformation:exit for      
end if  
next  
Я пыталась этот код приспособить под свою задачу, но не получается
Код
Sub bb()
Dim wb As Workbook
For each wb in Workbooks  
    if wb.name like "файл_02*.xls*" then 
Workbooks(wb.Name).Activate 
        msgbox wb.name,vbinformation:exit for  
    end if  
next  
End Sub
Выдает msgbox wb.name правильное имя и расширение моего открытого файла, но вот как его активировать? Не понимаю, что делать?  
Изменено: RMG - 27.06.2023 14:00:12
Перенести строки на основании заданного условия на новый Лист с помощью динамического массива
 
RAN спасибо огромное за код, я уже применила форматы. БЛАГОДАРЮ!!!
Перенести строки на основании заданного условия на новый Лист с помощью динамического массива
 
RAN Добрый день! У меня столбец "Индекс" свернулся в виде 8,10208E+19.
Можно как то это поправить, чтобы не значения были присвоены, а с помощью копирования с сохранением форматирования.
Буду Вам очень признательна.  
Изменено: RMG - 20.06.2023 11:48:09
Перенести строки на основании заданного условия на новый Лист с помощью динамического массива
 
evgeniygeo приветствую Вас, мне как раз надо принципиально поменять код,
мне нужно поместить в массив выбранные строки и затем уже из массива считать на другой Лист.
Перенести строки на основании заданного условия на новый Лист с помощью динамического массива
 

Здравствуйте!

Помогите решить задачу с помощью динамического массива (перебирать ячейки и переносить данные будет долго). Необходимо перенести строки по получателю "Иванов" или "иванов"(столбец G) , без учета регистра, за март месяц (столбец С) вставить на новый лист вместе со строкой заголовков с помощью динамического массива (строк и столбцов просматриваемого массива очень много).

У меня пока только это получается и то регистр учитывается

Код
Sub выбор_месяц()
Dim rg As Range
Dim mounth As String
 
mounth = InputBox(prompt:="Введите месяц в формате 'ММ'")
Set rg = Sheets(1).Range("A1").CurrentRegion
Dim i As Long, Rw&
 With Sheets("Лист4")
     Rw = .Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = 1 To rg.Rows.Count
 If rg.Cells(i, 7) = "Иванов" And Mid(rg.Cells(i, 3).Value, 4, 2) = mounth Then
 rg.Rows(i).Copy Sheets("Лист4").Rows(Rw)
 Rw = Rw + 1
 End If
 Next i
 End With
End Sub
Изменено: RMG - 20.06.2023 04:50:41
Собрать данные на один Лист по определенным Листам
 
Все исправила сама. Спасибо.
Собрать данные на один Лист по определенным Листам
 
Добрый вечер! Вот есть такой цикл, который должен проходить по Листам, которые указаны в a = Array("01", "02", "03", "04")
и переносить данные на Лист "Свод", но у меня в коде не видит Sheets(i), Sheets("Свод") видит.
Я уже понимаю ошибку, но не знаю как исправить (вместо имени Sheets ("01"), у меня выбирает Sheets(1)) или я ошибаюсь? Помогите поправить код, пожалуйста!

Код
Sub Сборка()
Dim i As Variant
Dim a()
Dim myR_Total&, myR_i&

    a = Array("01", "02", "03", "04") ' перечисляются листы в нужном порядке
    For i = LBound(a) To UBound(a)
    myR_Total = Sheets("Свод").Range("I" & Sheets("Свод").Rows.Count).End(xlUp).Row
    myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row
'Пробовала myR_i = Sheets(Sheets(a(i)).Range("A" & Sheets(a(i))).Rows.Count).End(xlUp).Row, не принимает
    Debug.Print myR_Total
    Debug.Print myR_i
    Sheets(i).Rows("2:" & myR_i).Copy Destination:=Sheets("Свод").Range("I" & myR_Total + 1)
    Next i

End Sub

Изменено: RMG - 18.06.2023 18:16:39
Присвоить имя Листу из наименования книги. Макрос
 
Пока придумала только так. Может есть другие варианты?
Код
Result = InputBox("Ведите новое имя Листа для файла '" & arrFiles(i) & "'")
Sheets(1).Name = Result
Присвоить имя Листу из наименования книги. Макрос
 
Добрый день! В коде VBA пользователю предоставлена возможность самостоятельного выбора  всех файлов в указанной папке.
После выбора я циклом выбираю вначале первый файл, дальше действия с этим файлом,
копирую обработанные данные из этого файла в книгу с кодом и далее повторяю действия с другими файлами.
И мне нужно присвоить имя Листу смотря из того какой файл в данный момент обрабатывается
(т.е. в имени файла присутствует слово, которое должно быть присвоено как имя Листа).
 
Код
'открываем каждую книгу из папки с файлами 
For i = 0 To UBound(arrFiles)
Set wb = Application.Workbooks.Open(sFolder & arrFiles(i))
MsgBox "Выбран файл: '" & arrFiles(i) & "'", vbInformation, ""
Sheets(1).Name = "ГВР"
В названии слово "ГВР" может быть в любом варианте, кто как захочет так и назовет файл.
Подскажите, пожалуйста, как решить данную проблему.
Изменено: RMG - 18.06.2023 15:06:29
Копирование по условию и вставка найденной строки в другую книгу. макрос
 
RAN  Спасибо большое. Все получилось.
Копирование по условию и вставка найденной строки в другую книгу. макрос
 
Код
iLastRow = wb1.Worksheets(4).Cells(Rows.Count, "C").End(xlUp).Row + 1
wb2.Worksheets(4).Rows(RowВсего).Copy      
wb1.Worksheets(4).Rows (iLastRow)
Так тоже не хочет
RAN у меня просто в третьем столбце находится строка "Всего" и мне надо в другую книгу в такую же форму внести эти данные
в такой же последовательности (то есть всю строку). В первом столбце я не могу искать последнюю заполненную ячейку, там данных меньше.
Подскажите мне как указать в данном случае правильно первую ячейку, пожалуйста.
Изменено: RMG - 14.06.2023 06:59:37
Копирование по условию и вставка найденной строки в другую книгу. макрос
 
Добрый день!
Помогите, пожалуйста, с кодом.
Не получается скопировать строку и вставить на другой лист в другую книгу в последнюю пустую строку.
В моем коде при выполнении пишет, что диапазон копирования не соответствует диапазону вставки,
необходимо указать одну ячейку для вставки или указать диапазон соответствующий копируемому.
Но мне необходимо всю строку по условию скопировать и вставить в другую книгу.
Код
'ищем строку "Всего"
RowВсего = wb2.Worksheets(4).Columns(3).Find("*Всего*", , xlValues, xlPart).Row 
wb2.Worksheets(4).Rows(RowВсего).Copy      
wb1.Worksheets(4).Cells(wb1.Worksheets(4).Rows.Count, 3).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Страницы: 1 2 3 4 5 6 7 След.
Наверх