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

Страницы: 1 2 3 4 5 6 След.
Зная название и путь книгExcel, нужно переименовать их с помощью VBA
 
Цитата
написал:
странно, ведь статья совсем о другом,
Статья про файл и его изменение, но в последних постах добавилось еще и решение, от куда он появляется) и получилось законченное решение вопроса по всей теме.
Изменено: RUSBelorus - 21.03.2024 09:26:43
Зная название и путь книгExcel, нужно переименовать их с помощью VBA
 
После всех тестов остановился на готовом решении, адаптировал его под себя
https://www.excel-vba.ru/chto-umeet-excel/kak-skachat-fajl-iz-interneta-po-ssylke/

Цитата
evgeniygeo
Спасибо.
Изменено: RUSBelorus - 20.03.2024 16:45:37
Зная название и путь книгExcel, нужно переименовать их с помощью VBA
 
Цитата
написал:
evgeniygeo, а где тут маска задается. Например файл имеет название Остатки на складе СПб от 19.03.2024.xlsx
я хочу найти по маске "Остатки на складе СПб"

Файлы качаются с разным окончанием ежедневно
Остатки на складе СПб от 18.03.2024.xlsx
Остатки на складе СПб от 19.03.2024.xlsx
Остатки на складе СПб от 20.03.2024.xlsx
Изменено: RUSBelorus - 20.03.2024 11:51:26
Зная название и путь книгExcel, нужно переименовать их с помощью VBA
 
Если правильно понял, с учетом того что в интернете нет решения, такое не возможно в принципе "Поиск файла по маске и переименование" ?
Мне кажется само решение имеет спрос и полезно.
Зная название и путь книгExcel, нужно переименовать их с помощью VBA
 
Можно ли поднять тему, вопрос касательно переименования.

Задача: Зная путь к файлу, переименовать его. Но, название файла меняется (стоит дата в названии), соответственно нужно использовать только часть названия, что постоянно
Пример файла: Остатки на складе СПб от 19.03.2024.xlsx ........можно использовать Остатки на складе СПб от*.xlsx и привести к виду Остатки на складе СПб.xlsx
Как вариант можно то же самое сделать с расширением .xml

PS Макросов переименовывания много, но все они работают если название исходника не меняется.

Прошу помочь.
Изменено: RUSBelorus - 19.03.2024 18:44:25
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
Здравствуйте
День добрый,
Прошу поправить макрос, заметил что мало им пользуюсь, тк выделяет слишком много лишнего...
Суть: сравнение двух столбцов С и D именно по числам и выделение ячеек с разницей только в D (потом с этими ячейками проходят некоторые действия)
Сейчас макрос сравнивает и выделяет все, много ненужного. Важно именно числа
На скрине пример что не нужно выделять
Файл с макросом приложил
PS Макрос от Евгения выше. У меня лично нет понимания вообще в коде, сори)
Код
'Сравнивает два столбца С и D и выделяет отличия в D в сводной
Sub Парсинг_Сравнить_два_столбца_CD()
Dim Rg1 As Range, Rg2 As Range, Sh As Worksheet, i&, Arr1, Arr2, kRow&, nRow&, col1 As New Collection
    nRow = 3: Set Sh = ActiveSheet
Set Rg1 = Sh.Range("C1"): Set Rg1 = Range(Rg1, Sh.Cells(Rows.Count, Rg1.Column).End(xlUp)) 'Сравнивает два столбца С и D и выделяет отличия в D
Set Rg2 = Sh.Range("D1"): Set Rg2 = Range(Rg2, Sh.Cells(Rows.Count, Rg2.Column).End(xlUp)) 'Сравнивает два столбца С и D и выделяет отличия в D
Arr1 = Rg1.Value: Arr2 = Rg2.Value
kRow = Application.WorksheetFunction.Min(UBound(Arr1), UBound(Arr2))
    For i = nRow To kRow
    If Arr1(i, 1) <> Arr2(i, 1) Then col1.Add i
    Next
Set Rg1 = Nothing
    For i = 1 To col1.Count
If Rg1 Is Nothing Then Set Rg1 = Sh.Cells(col1(i), Rg2.Column) Else Set Rg1 = Union(Sh.Cells(col1(i), Rg2.Column), Rg1)
    Next
Rg1.Select
End Sub
скрин:
Изменено: RUSBelorus - 07.03.2024 11:37:06
Скачать файл с интернета по ссылке, Упростить макрос
 
Цитата
написал:
Worksheets("Конкретный_лист").Range("BG1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Все четко, без всяких заморочек. Спасибо!!
Скачать файл с интернета по ссылке, Упростить макрос
 
Цитата
написал:
Для Ваших 3-х ячеек, например
К сожалению ячейки я сделал в разных местах (воткнул ссылки куда попало), не пойдет

Как итог, если нельзя ссылку указать прямо в коде, тогда получается надо все же делать отдельный лист с этими ссылками.
Цитата
написал:
Range("BG1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Если использовать такой формат, как указать конкретный лист с конкретной ячейкой где будет ссылка ?
Скачать файл с интернета по ссылке, Упростить макрос
 
Только вот опять мысль, а зачем такой большой макрос в этой книге нужен, если можно так же сделать отдельный лист и прописать в моем коде ячейку с этого листа, в которой будет ссылка
 
Range("BG1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Для перезаписи файла перед этим просто удалить по маске
Kill "C:\Users\__\Downloads\скачанныйфайл*.xlsx"
Скачать файл с интернета по ссылке, Упростить макрос
 
Sanja, там файлик есть на множество ссылок.. в принципе наверно вынесу все ссылки на отдельный лист, так наверно еще и удобней. Плюс можно переименовывать.
Спасибо за совет, потестю.

PS Но все таки интересно, есть ли решение в одну строчку кода скачать файл.
Скачать файл с интернета по ссылке, Упростить макрос
 
Цитата
написал:
КАК СКАЧАТЬ ФАЙЛ ИЗ ИНТЕРНЕТА ПО ССЫЛКЕ
Я видел этот код, то там "500" строк для одной ссылки. У меня просто нет таких знаний что бы его переделать под несколько ссылок, да еще что бы все это не конфликтовало с остальным кодом
Изменено: RUSBelorus - 20.02.2024 00:42:28
Скачать файл с интернета по ссылке, Упростить макрос
 
Вечер добрый.
Имею такой код в большом макросе, его суть это скачать файлы по ссылке которая прописана в ячейке Excel.
Я пошел по самому простому пути и прописал эти ссылки в ячейках и макрозаписью сделал их открытие (скачивание).
Сейчас этот код работает, но структура листа меняется и приходится в коде переписывать местоположение ячеек с ссылками.

Можно ли поправить код, указать в нем саму ссылку (а не ячейку с ссылкой)
Ссылок много, тут пример на три
Сама ссылка для примера например такая https://docs.google.com/spreadsheets/d/1axjDCAWZ21XrgCssqIVKwHeiSfkuMr.....


'Скачать файлы в папку Downloads
   Range("BG1").Select
   Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
   Range("BH1").Select
   Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
   Range("CH1").Select
   Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
   
'End Sub
Изменено: RUSBelorus - 20.02.2024 17:26:11
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
Евгений Смирнов
Евгений, спасибо большое, то что нужно, облегчили задачу.

PS Можно не отвечать, это уже бонус, развитие макроса на перспективу.
Если сравнить C и столбики D, E, F (вместе все) с выделением в (D, E, F) при этом не выделять ячейки пустые (нет формул и значений)
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
Sub dffhhdf()
Dim Rg1 As Range, Arr1, col1 As New Collection
Set Rg1 = Range("C:D")
Set Rg1 = Intersect(Rg1, Rg1.CurrentRegion)
Arr1 = Rg1.Value
For i = 3 To UBound(Arr1)
If Arr1(i, 1) <> Arr1(i, 2) Then col1.Add i
Next
Set Rg1 = Nothing
For i = 1 To col1.Count
If Rg1 Is Nothing Then Set Rg1 = Cells(col1(i), 4) Else Set Rg1 = Union(Cells(col1(i), 4), Rg1)
Next
Rg1.Select
End Sub
Чуть запутался в коде.
А как сравнить столбик D с F с выделением отличий в F ?
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Извините, не увидел
Set Rg1 = Range("C:D") - это диапазон

If Rg1 Is Nothing Then Set Rg1 = Cells(col1(i), 4) Else Set Rg1 = Union(Cells(col1(i), 4), Rg1) - а это столбец сравнения
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
Евгений Смирнов
Почти то что нужно. Спасибо
Единственное, С и D не всегда вместе Set Rg1 = Range("C:D")
Я могу сравнить E например с С

PS Предполагается, что над каждым столбцом будет кнопка с макросом, который отработает по конкретному столбцу
Изменено: RUSBelorus - 17.01.2024 12:00:48
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
Именно макросом? Через F5 или Ctrl-F не подойдет?
Через F5 - не совсем понимаю каким образом
Ctrl-F - это поиск.. то же не понятна схема выделения отличий в двух столбцах
ЗЫ Макрос это сделает мгновенно (только в модуле выбираешь что и с чем сравнить)
Изменено: RUSBelorus - 17.01.2024 11:54:43
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 
Цитата
написал:
УФ не подойдет?
УФ у меня есть сравнения,не подойдет. Именно макрос, тут важно именно выделить, а не подсветить.
Изменено: RUSBelorus - 17.01.2024 11:38:02
Сравнение двух столбцов, выделить отличие в одном. Макрос, Без заливки, просто выделить
 

Сравнение двух столбцов, выделить отличие в одном

Прошу подсказать макрос, все что нашел в интернете это либо выделение строк, либо выделение столбца, либо перенос отличий, либо заливка отличий.

Мне нужно просто выделить значения в столбце D, которые отличаются от значений в столбце C. (столбцы C и D могут быть не обязательно вместе, могу сравнить E с С)

В столбцах стоят формулы, в которых видны значения

PS После выделения у меня с этими ячейками проходят определенные действия…

Спасибо.


Изменено: RUSBelorus - 17.01.2024 11:35:47
VBA Множественное автоматическое дублирование листов в книге, Как такое случилось и как убрать
 
Цитата
написал:
А эти листы видны в обычном окне Excel?
Этих листов не видно нигде, кроме кода
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
Sanja спасибо огромное
Как итог, может кому пригодится
В ЭтаКнига
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'В ЭтаКнига кладем
 With Worksheets("Сводная") 'Название листа
   .Range("G1") = CStr(Format(Now, "dd.mm.yyyy hh:mm:ss")) 'дата и время сохранения формат 21.12.2023 16:15:42
   .Range("G2") = "Time " & CStr(Format(Now, "hh:mm:ss"))  'только время сохранения формат Time 16:15:43
 End With
End Sub
Изменено: RUSBelorus - 21.12.2023 16:20:24
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
.Range("G2") = "Time " & CStr(Format(Now, "hh:mm:ss"))  'только время сохранения
Ну вроде оно) Sanja спасибо огромное! Извините что замучил всех на форуме.

VBA Множественное автоматическое дублирование листов в книге, Как такое случилось и как убрать
 
Цитата
написал:
Alt + F11
Нет,тут походу что то серьезное, наверно все это от использования какого макроса.
Первый Лист15 при нажатии Alt + F11 переносит на страницу листа последнего Лист15...(импорт..)
При чем название всех "хлам" лстом до этого листа имеет одно название (ниже) ЭтаКнига30
Последний типа правильный лист Лист15...(импорт..) имеет то же название Лист15...(импорт..)

VBA Множественное автоматическое дублирование листов в книге, Как такое случилось и как убрать
 
Цитата
написал:
Вопрос второй как убрать эти листы если кнопка удаления не активна - удалить листы не в интерфейсе VBA, а в Excel (см.вложение)
А как в Excel перевести ?
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
Здравствуйте. Или так
Ничего не происходит вообще( Макрос в ЭтаКнига положен и в Лист1 то же попробовал
Изменено: RUSBelorus - 21.12.2023 15:55:01
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
Оберните дату в функцию конвертации в текст
Все равно именно время воспринимается как число. Программа принимающая файл не воспринимает форматы в принципе. Либо текст, либо число
Вот дата с временем грузится правильно. Время как число
Можно дать вариант время с символом впереди, это поможет наверно)
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Может быть попробовать сцепить время с символом, например "Время 15:06:33"
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
Вы мой код пробовали использовать?
Да, я Ваш код и использую, только ячейки поменял и лист

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 With Worksheets("Сводная")
   .Range("G1") = Format(Now, "dd.mm.yyyy hh:mm:ss")
   .Range("G2") = Format(Now, "hh:mm:ss")  
 End With
End Sub

Программа принимающая файл воспринимает время как число.  
Изменено: RUSBelorus - 21.12.2023 15:18:36
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
Дата с временем должна быть с секундами и получается неким символом/словом перед датой что бы не воспринималось программой как число
так так написано
Символ(или слово) это я придумал как идея просто. Главное что бы не воспринималось как число
Изменено: RUSBelorus - 21.12.2023 15:05:06
Макрос Вставка даты с временем при сохранении книги в ячейку, Дата воспринимается как число, нужно как дата текст. Подходит только если вставить слово, например "Время 21.12.23 12:16:26"
 
Цитата
написал:
В модуль ЭтаКнига. На Лист1, в ячейки A1 и A2
Время само в A2 идет числом


Страницы: 1 2 3 4 5 6 След.
Наверх