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

Страницы: 1
Сохранение листа в *.TXT (изменяется формат), Нужен формат ДД.ММ.ГГГГ и Руб,Коп; а макросом получаю ДД/ММ/ГГГГ и Руб.Коп
 
Цитата
написал:
Версия может быть одинаковой, а вот языковые настройки разные.
А можно с помощью VBA выставить как надо, а потом вернуть обратно?
Изменено: Анатолий - 24.11.2023 23:48:11
Сохранение листа в *.TXT (изменяется формат), Нужен формат ДД.ММ.ГГГГ и Руб,Коп; а макросом получаю ДД/ММ/ГГГГ и Руб.Коп
 
bigorq, благодарю.
В таком простом макросе - получилось. А в более сложном не помогло. Версия Excel - одинаковая.
Странная ситуация.
Сохранение листа в *.TXT (изменяется формат), Нужен формат ДД.ММ.ГГГГ и Руб,Коп; а макросом получаю ДД/ММ/ГГГГ и Руб.Коп
 
Добрый день прошу помочь.
Написал простой макрос по сохранению листа в *.TXT
Код
Sub Test()
    ChDir "D:\Загрузки"
    ActiveWorkbook.SaveAs Filename:="D:\Загрузки\Книга1.txt", FileFormat:=xlText, CreateBackup:=False
End Sub

Когда сохраняю вручную, то получаю нужный формат:
01.01.2023 123435,23

А с помощью макроса:
1/1/2023 123435.23

Прошу подсказать, как можно сохранить корректно.
Изменено: Анатолий - 24.11.2023 12:45:37
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
KL, спасибо. Теперь разобрался.
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
Копка цитирования не для ответа [МОДЕРАТОР]

А как мне указать именно номер столбца "дата производства", т.к. просто заменив у меня в 3-я столбце выражением СТОЛБЕЦ(), у меня появилась колонка "Владелец".
Действительно интересный вариант, но пока не могу понять как им воспользоваться.
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
Цитата
KL написал: А попробовать?
Попробовал, и действительно, я ошибался.
Но эта формула жестко привязана к столбцам, а у меня как раз столбцы могут изменяться. так что данная формула мне не подходит. Но всё равно большое спасибо, я даже не обдумывал такой вариант.
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
KL, спасибо за совет, но боюсь что так не получится, т.к. на листе 1 очень часто данные будут обновляться с полным удалением всех данных и формула постоянно будет становиться "#ССЫЛКА".
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
RAN, супер! Большое СПАСИБО!
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
Так запущу я его один раз, а потом формулу растяну. А так мне каждый раз при переходе на лист2 надо макрос запускать.

Вопрос сейчас в том, можно ли макросом в формулу подставить нужную колонку или нет?
Если нет, то да, другого варианта, как постоянно перезапускать макрос - нет.
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
JayBhagavan, добрый день! Вписал формулы на втором листе.
Нет, без формул не получается, т.к. данные должны быть динамическими, и при добавлении новых строк (не обязательно в конец) автоматически обновляться, с формулами этого можно добиться путем протягивания формул, а с макросом - только перезапуском макроса (это крайний вариант, хочется попробовать через формулы решить задачку).
Передача параметра в формулу с использованием VBA, найти параметр на одном листе и передать его с помощью макроса в формулу
 
Добрый день, в написании сложных макросов не силен, но имеется необходимость в написании следующего макроса:
1. на листе 1 имеется рабочая таблица, в которой периодически происходит изменение содержимого (колонки добавляются - удаляются).
2. на листе 2 имеется таблица, в которую при помощи макроса необходимо сгенерировать формулу с данными из колонок с листа 1.

Моё видение:
Код
Sub TEST()
ColumnsQuantity = Лист1.UsedRange.Columns.Count             ' считаем кол-во столбцов на листе 1
    
For j = 1 To ColumnsQuantity
    If Лист1.Cells(1, j).Text = "Марка" Then
    Лист2.Range("A2").Select
    ActiveCell.FormulaR1C1 = "=лист1!???"   'Вот тут не знаю как передать параметр на нужную ячейку второй строки j-того столбца.
    End If
Next
    
End Sub
Прошу помочь.
Изменено: Иван Пупкин - 08.01.2016 23:23:47
Удаление столбцов, не содержащих записей.
 
сорри, что так долго!  
Удалять надо именно СТОЛБЕЦ, в котором данных нет, а заполнена только шапка!
Удаление столбцов, не содержащих записей.
 
{quote}{login=GIG_ant}{date=01.07.2011 05:52}{thema=}{post}в предыдущем посте "с шакой" - читать "с шапкой"{/post}{/quote}  
:-) вот и примерчик.
Удаление столбцов, не содержащих записей.
 
{quote}{login=GIG_ant}{date=01.07.2011 05:11}{thema=}{post}воспользуйтесь в макросе функцией листа Ексель CountA(){/post}{/quote}  
 
Вообщем создал я такой макрос:    
 
Sub Delete_Columns()  
     
   LastRow = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count  
   Application.ScreenUpdating = False  
   For r = LastRow To 1 Step -1  
       If Application.CountA(Columns®) = 0 Then Columns®.Delete  
   Next r  
 
End Sub  
 
но это немного не то. Т.к. есть шапка состоящая из 5 строк. Если шапку удалить - то все работает как надо.  
Но шапку то необходимо оставить.  
 
Привожу более подробный пример:  
Имеется файл с шапкой шаблона (шапка 5 строк и 300 колонок).  
Начиная с 6-й строки идут данные, вот и возникает вопрос как произвести удаление столбцов, которые в шаблоне не заполнены. Шапка то заполнена.
Удаление столбцов, не содержащих записей.
 
Народ, помогите пожалуйста написать макрос. Задача такая:  
Имеется некий шаблон, имеет строку заголовоков. Если в определенном столбце нет данных, то её можно удалить.
Как зпихнуть формулу в макрос?
 
{quote}{login=Казанский}{date=29.04.2011 02:38}{thema=}{post}1. Ввести формулу типа "=A1"  
2. range("A1").formulalocal="=(EJ7/EM7)*(РАЗНДАТ(K7;""31.12.2010"";""y"")*12+РАЗНДАТ(K7;""31.12.2010"";""ym""))"{/post}{/quote}  
 
по пункту    
1. Я так и делал, но это если без макроса, а как её в макрос впихнуть? пишу    
Range(Cells(7, A), Cells(7, A)).Activate  
ActiveCell.FormulaR1C1 = "=A1"  
в поле попадает ='A1'  
 
по 2-му пункту - спасибо, щас попробую.  
 
И ещё вопросик, как можно скопировать с ячейки формулу, а не результат выдаваемый формулой?  
а то у меня при записи:  
Range(Cells(7, J), Cells(7, J)).Activate    
K = ActiveCell.Value  
Selection.Copy  
Range(Cells(I, J), Cells(I, J)).Activate  
С = ActiveCell.Value  
копириуется результат выполнения а нужна сама формула...
Как зпихнуть формулу в макрос?
 
Всем добрый день!  
У меня возникло 2 вопроса:  
1. Как можно указать что в указанную ячейку должно подтягиваться значение из другой ячейки?  
2. Как указанной ячейке можно присвоить такую формулу "=(EJ7/EM7)*(РАЗНДАТ(K7;'31.12.2010';'y')*12+РАЗНДАТ(K7;'31.12.2010';'ym'))    
 
Подстажите плиз!
Страницы: 1
Наверх