Можно-ли из активной книги Excel открыть вордовский документ, находящийся в той-же папке? Что-бы не было зависимости от полного пути расположения данной папки, и папку с файлами модно было переместить в другое место. Заранее всем благодарен за ответ.
Доброго всем дня! В своей таблице использовал макрос темы https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=86983&am..., немножко изменив его. Но имеется одно неудобство. После случайного ввода данных из ячейки не удаляется префикс. Помогите, пожалуйста. Нужно в макросе задать условие, при котором префикс будет добавляться только при наличии данных в изменяемой ячейке. Заранее всех благодарю!
Всем доброго дня! Нашел макрос, который преобразовывает числа, сохраненные как текст, в числа. Преобразование происходит по всем найденным, удовлетворяющим условию, ячейкам на листе. Можно-ли в макросе задать условие, что-бы преобразование происходило только в ячейках, которые заранее выделены на листе пользователем? Заранее всем благодарен.
Нашел функции для склонения ФИО в родительный и дательный падежи. Но возникла проблемма. В тюркских отчествах слова "оглы" для сыновей и "кызы" для дочерей функции выводят с заглавной буквы. Помогите, пожалуйста, решить этот вопрос. Нужно внести изменения в модуль, что-бы "оглы" и "кызы" начинались с прописной буквы. Заранее благодарен.
В таблице приведен перечень объектов с рядом прказателей. Один из объектов принимается за эталон и копируется в 1 строку. В 1 колонке таблицы надо подсчитать количество совпадений показателей по каждому объекту с эталоном. Что-бы это сделать, мне пришлось добавить таблицу по совпадениям. Вероятно, есть решение задачи и без добавления таблицы.
Было-бы интересно узнать другие варианты. Всем спасибо.
Дрпустим, имеется в ячейке А1 дата 19.07.1961 и необходимо найти сумму всех её цифр, т.е. 1+9+0+7+1+9+6+1. Подскажите, пожалуйста, как можно сделать это с помощью формул или макроса.
Всем доброго дня! Уважаемые форумчане, прошу оказать мне помощь. В ячейке K25 находится формула. Можно ли создать макрос, что-бы при значении в ячейке K25 =1 была задана область печати A1:J100, а при других значениях - область печати A5:J100? Заранее всех благодарен.
Создан файл, в котором На лист БОчка в столбец В при помощи функции ВПР происходит выборка данных с другого листа Таблица. Однако в выборке в некоторых ячейках (помеч. желтым) повторяются значения, а ниже по столбцу смещаются результаты. Не понимаю причину этого. Пожалуйста, помогите разобраться.
Начал изучать VBA, используя книгу Уокенбах Дж. - Excel 2010. Профессиональное программирование на VBA. Один пример у меня дает не верный результат. Текст книги:
Структуры Select Case можно вкладывать друг в друга. Например, следующая процедура использует процедуру VBA TypeName для определения того, что выделено в настоящий момент (диапазон ячеек, ничего или что-либо еще). Если выделен диапазон, процедура вызывает на выполнение вложенный оператор Select Case, а также проверяет количество ячеек в диапазоне. Если выделена одна ячейка, отображается сообщение Выделена одна ячейка. В противном случае отображается сообщение, в котором указывается количество выделенных строк.
Sub SelectionType() Select Case TypeName(Selection) Case "Диапазон" Select Case Selection.Count Case 1 MsgBox "Выделена одна ячейка " Case Else MsgBox Selection.Rows.Count & " строк " End Select Case "Ничего" MsgBox "Ничего не выделено" Case Else MsgBox "Выделен объект, отличный от диапазона " End Select End Sub
У меня выдает выдает постоянно один результат: "Выделен объект, отличный от диапазона ".
На форуме встретил макрос для создания копии строки. Макрос срабатывает по событию двойного клика по ячейке. Для очистки отдельных ячеек в макросе указывается их расположение по названиям колонок.
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
Application.ScreenUpdating = False
Rows(Target.Row).Copy: Rows(Target.Row).Insert
Cells(Target.Row, "I").Select: ActiveCell.ClearContents
End Sub
Мне нужно создать таблицу, состоящую из большого количества колонок, в которых будут как данные для расчетов, так и формулы.
Можно-ли внести изменения в данный макрос, чтобы в созданной копии строки происходила очистка данных всех ячеек, не содержащих формулы, не зависимо от их расположения?
Имеется большое количество таблиц одинаковой структуры. Каждая таблица - отдельная книга. Все книги расположены в одной папке. Необходимо произвести суммирование аналогичных ячеек в отдельный файл.
В суммирующей таблице очистку и суммирование данных нужно проводить с ячейки В4.
Кроме того, наименования таблиц (по колонке А и строке 3) связаны с суммирующей таблицей ссылками. Макрос суммирует везде, где имеются ссылки.
Можно ли ячейки с суммой 0 оставлять пустыми?
Пример прилагаю.
Заранее благодарен!
Код макроса, который нужно адаптировать.
Код
Option Explicit
Sub SummAll()
Dim BazaWb As Workbook 'текущая книга (общий файл)
Dim BazaSht As Worksheet 'лист для суммы в общем файле
Dim TempWb As Workbook 'по-очерёдно открываемый файл
Dim TempSht As Worksheet 'лист для суммы в по-очерёдно открываемом файле
Dim iTempFileName As String 'имя по-очерёдно открываемого файла
Dim iPath As String 'путь к папке, где лежат все файлы
Dim iCol As Long 'строка в файле
Dim iRow As Long 'столбец в файле
Dim iRowTmp As Long 'последняя заполненная строка в файле по столбцам
Dim iColTmp As Long 'последний заполненный столбец в файле
Dim iNumFiles As Long 'количество открываемых файлов
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.Calculation = xlManual
Set BazaWb = ThisWorkbook
Set BazaSht = BazaWb.ActiveSheet
iPath = BazaWb.Path & "\"
iTempFileName = Dir(iPath & "*.xls")
'удаляем данные перед суммированием, если нужно
With BazaSht
.Range(.Cells(2, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(1, Columns.Count).End(xlToLeft).Column)).ClearContents
End With
'по очереди открываем файлы из папки
Do While iTempFileName <> ""
If iTempFileName <> BazaWb.Name Then
Set TempWb = .Workbooks.Open _
(Filename:=iPath & iTempFileName, UpdateLinks:=False, ReadOnly:=True)
iNumFiles = iNumFiles + 1
Set TempSht = TempWb.ActiveSheet
'Рабочая книга не должна быть защищена паролем
With TempSht
'всего столбцов в открытом листе
iColTmp = .Cells(1, Columns.Count).End(xlToLeft).Column
For iCol = 1 To iColTmp
'номер последней заполненой строки в столбце
iRowTmp = .Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 2 To iRowTmp
BazaSht.Cells(iRow, iCol).Value = BazaSht.Cells(iRow, iCol).Value + .Cells(iRow, iCol).Value
Next iRow
Next iCol
End With
TempWb.Close saveChanges:=False
End If
iTempFileName = Dir
Loop
.Calculation = xlAutomatic
.DisplayAlerts = True
.ScreenUpdating = True
End With
MsgBox "Данные обработаны из " & iNumFiles & " файлов!", vbInformation, "Конец"
End Sub
Здравствуйте. Имеется Таблица. В Ячейке F5 на листе "Исходные" расположена дата. Как найти ячейку, соответствующую Дню месяца на листе Итог и сделать активным соответствующий столбец?
Доброго дня! В файле много листов. Название листов соответствует месяцу и году - 1.2012, 2.2012 и т.д. Можно ли создать макрос, который при открытии книги активирует лист соответствующий текущей дате?