Неверный Формат ячеек Excel при выгрузке данных из 1С
yyyuuu
Дата: Понедельник, 28.06.2021, 10:25 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Всем привет друзья. Не знаю по адресу или нет. Но проблема такая. Выгружаю в эксель из 1с
Макет.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS);
Формат полей у Меня у всех дата. А вот когда сохранил на диске ексель. Дата получается как число и чтобы она стала датой и Я мог сделать нужный фильтр нужно кликнуть два раза и формат становиться такой который нужный.
Excel = Новый COMОбъект("Excel.Application" );
Excel.DisplayAlerts = 0 ;
Excel.Visible = Ложь;
Excel.DisplayAlerts = Ложь;
КнигаExcel = Excel.Workbooks.Add();
КнигаExcel = Excel.WorkBooks.Open(ПолноеИмяФайла);
Excel.Visible = 0 ;
Excel.ActiveWindow.DisplayWorkbookTabs = 1 ;
Excel.ActiveWindow.TabRatio = 0.6 ;
Excel.ActiveSheet.Name = "report" ;
ВсегоКолонок = Excel.ActiveSheet.Cells(1 ,1 ).SpecialCells(11 ).Column;
Область = Excel.ActiveSheet.Range(Excel.ActiveSheet.Cells(1 ,1 ), Excel.ActiveSheet.Cells(1 ,ВсегоКолонок));
Область.AutoFilter();
НомерЛиста = 1 ;
КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 )).NumberFormat = "ДД.ММ.ГГГГ" ;
Excel.DoubleClick(); //Пробовал может как то вызывать двойной кликл принудительно, но скорее всего это только имитация а не клик настоящий
//
//КнигаExcel.Sheets(НомерЛиста).Cells(2 , 7 ).NumberFormat = "dd/mm/yyyy" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 8 ).NumberFormat = "" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 9 ).NumberFormatLocal = "ДД.ММ.ГГГГ" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 11 ).NumberFormatLocal = "ДД.ММ.ГГГГ" ;
КнигаExcel.Save();
КнигаExcel.SaveAs("C:\Users\Rem\1234.xls" );
КнигаExcel.Close();
Excel.DisplayAlerts = Истина;
Excel.Quit();
Excel = Неопределено;
КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 )).NumberFormat = "ДД.ММ.ГГГГ"
Это работает, формат нужный присваивает, но только все ровно нужно дважды кликнуть чтобы он его изменил. Я думаю может вызывать какой нибудь код вба который бы делал двойной клик или так нельзя?
Всем привет друзья. Не знаю по адресу или нет. Но проблема такая. Выгружаю в эксель из 1с
Макет.Записать(ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLS);
Формат полей у Меня у всех дата. А вот когда сохранил на диске ексель. Дата получается как число и чтобы она стала датой и Я мог сделать нужный фильтр нужно кликнуть два раза и формат становиться такой который нужный.
Excel = Новый COMОбъект("Excel.Application" );
Excel.DisplayAlerts = 0 ;
Excel.Visible = Ложь;
Excel.DisplayAlerts = Ложь;
КнигаExcel = Excel.Workbooks.Add();
КнигаExcel = Excel.WorkBooks.Open(ПолноеИмяФайла);
Excel.Visible = 0 ;
Excel.ActiveWindow.DisplayWorkbookTabs = 1 ;
Excel.ActiveWindow.TabRatio = 0.6 ;
Excel.ActiveSheet.Name = "report" ;
ВсегоКолонок = Excel.ActiveSheet.Cells(1 ,1 ).SpecialCells(11 ).Column;
Область = Excel.ActiveSheet.Range(Excel.ActiveSheet.Cells(1 ,1 ), Excel.ActiveSheet.Cells(1 ,ВсегоКолонок));
Область.AutoFilter();
НомерЛиста = 1 ;
КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 )).NumberFormat = "ДД.ММ.ГГГГ" ;
Excel.DoubleClick(); //Пробовал может как то вызывать двойной кликл принудительно, но скорее всего это только имитация а не клик настоящий
//
//КнигаExcel.Sheets(НомерЛиста).Cells(2 , 7 ).NumberFormat = "dd/mm/yyyy" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 8 ).NumberFormat = "" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 9 ).NumberFormatLocal = "ДД.ММ.ГГГГ" ;
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 11 ).NumberFormatLocal = "ДД.ММ.ГГГГ" ;
КнигаExcel.Save();
КнигаExcel.SaveAs("C:\Users\Rem\1234.xls" );
КнигаExcel.Close();
Excel.DisplayAlerts = Истина;
Excel.Quit();
Excel = Неопределено;
КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 )).NumberFormat = "ДД.ММ.ГГГГ"
Это работает, формат нужный присваивает, но только все ровно нужно дважды кликнуть чтобы он его изменил. Я думаю может вызывать какой нибудь код вба который бы делал двойной клик или так нельзя? yyyuuu
Сообщение отредактировал Serge_007 - Понедельник, 28.06.2021, 10:48
Ответить
Сообщение Всем привет друзья. Не знаю по адресу или нет. Но проблема такая. Выгружаю в эксель из 1с [vba]
Макет.Записать(ПолноеИмяФайла , ТипФайлаТабличногоДокумента.XLS );
[/vba] Формат полей у Меня у всех дата. А вот когда сохранил на диске ексель. Дата получается как число и чтобы она стала датой и Я мог сделать нужный фильтр нужно кликнуть два раза и формат становиться такой который нужный. [vba]
Excel = Новый COMОбъект("Excel.Application"); Excel.DisplayAlerts = 0; Excel.Visible = Ложь; Excel.DisplayAlerts = Ложь; КнигаExcel = Excel.Workbooks.Add(); КнигаExcel = Excel.WorkBooks.Open(ПолноеИмяФайла ); Excel.Visible = 0; Excel.ActiveWindow.DisplayWorkbookTabs = 1; Excel.ActiveWindow.TabRatio = 0.6; Excel.ActiveSheet.Name = "report"; ВсегоКолонок = Excel.ActiveSheet.Cells(1,1).SpecialCells(11).Column ; Область = Excel.ActiveSheet.Range(Excel.ActiveSheet.Cells(1,1), Excel.ActiveSheet.Cells(1,ВсегоКолонок )); Область.AutoFilter(); НомерЛиста = 1; КнигаExcel.Sheets(НомерЛиста ).Range(КнигаExcel.Sheets(НомерЛиста ).Cells(2,2),КнигаExcel.Sheets(НомерЛиста ).Cells(2,3)).NumberFormat = "ДД.ММ.ГГГГ"; Excel.DoubleClick(); //Пробовал может как то вызывать двойной кликл принудительно , но скорее всего это только имитация а не клик настоящий // //КнигаExcel.Sheets(НомерЛиста ).Cells(2, 7).NumberFormat = "dd/mm/yyyy"; КнигаExcel.Sheets(НомерЛиста ).Cells(2, 8).NumberFormat = ""; КнигаExcel.Sheets(НомерЛиста ).Cells(2, 9).NumberFormatLocal = "ДД.ММ.ГГГГ"; КнигаExcel.Sheets(НомерЛиста ).Cells(2, 11).NumberFormatLocal = "ДД.ММ.ГГГГ"; КнигаExcel.Save(); КнигаExcel.SaveAs("C:\Users\Rem\1234.xls"); КнигаExcel.Close(); Excel.DisplayAlerts = Истина; Excel.Quit(); Excel = Неопределено ;
[/vba] [vba]
КнигаExcel.Sheets(НомерЛиста ).Range(КнигаExcel.Sheets(НомерЛиста ).Cells(2,2),КнигаExcel.Sheets(НомерЛиста ).Cells(2,3)).NumberFormat = "ДД.ММ.ГГГГ"
[/vba] Это работает, формат нужный присваивает, но только все ровно нужно дважды кликнуть чтобы он его изменил. Я думаю может вызывать какой нибудь код вба который бы делал двойной клик или так нельзя? Автор - yyyuuu Дата добавления - 28.06.2021 в 10:25
Serge_007
Дата: Понедельник, 28.06.2021, 10:52 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2750
±
Замечаний:
±
Excel 2016
Здравствуйте Если у Вас после выгрузки в ячейках числа а не даты, то используйте в коде VBA:
Selection.NumberFormat = "m/d/yyyy"
Здравствуйте Если у Вас после выгрузки в ячейках числа а не даты, то используйте в коде VBA:
Selection.NumberFormat = "m/d/yyyy"
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Здравствуйте Если у Вас после выгрузки в ячейках числа а не даты, то используйте в коде VBA:[vba]
Selection.NumberFormat = "m/d/yyyy"
[/vba] Автор - Serge_007 Дата добавления - 28.06.2021 в 10:52
RAN
Дата: Понедельник, 28.06.2021, 11:23 |
Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
With КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 ))
.NumberFormat = "ДД.ММ.ГГГГ"
.FormulaLocal = .FormulaLocal
End With
With КнигаExcel.Sheets(НомерЛиста).Range(КнигаExcel.Sheets(НомерЛиста).Cells(2 ,2 ),КнигаExcel.Sheets(НомерЛиста).Cells(2 ,3 ))
.NumberFormat = "ДД.ММ.ГГГГ"
.FormulaLocal = .FormulaLocal
End With
RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение [vba]
With КнигаExcel.Sheets(НомерЛиста ).Range(КнигаExcel.Sheets(НомерЛиста ).Cells(2,2),КнигаExcel.Sheets(НомерЛиста ).Cells(2,3)).NumberFormat = "ДД.ММ.ГГГГ".FormulaLocal = .FormulaLocalEnd With
[/vba] Автор - RAN Дата добавления - 28.06.2021 в 11:23
Nic70y
Дата: Понедельник, 28.06.2021, 11:54 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9145
Репутация:
2416
±
Замечаний:
0% ±
Excel 2010
ЮMoney 41001841029809
Ответить
Сообщение это ж не VBA... Автор - Nic70y Дата добавления - 28.06.2021 в 11:54
yyyuuu
Дата: Понедельник, 28.06.2021, 11:56 |
Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Мужики может быть это и сработало но это 1с. Я вот честно не знаю сработает ли это на 1с
Мужики может быть это и сработало но это 1с. Я вот честно не знаю сработает ли это на 1с yyyuuu
Ответить
Сообщение Мужики может быть это и сработало но это 1с. Я вот честно не знаю сработает ли это на 1с Автор - yyyuuu Дата добавления - 28.06.2021 в 11:56
Serge_007
Дата: Понедельник, 28.06.2021, 12:13 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2750
±
Замечаний:
±
Excel 2016
после выгрузки в ячейках числа а не даты, то используйте в коде VBA
При чем здесь 1С? Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...
после выгрузки в ячейках числа а не даты, то используйте в коде VBA
При чем здесь 1С? Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение после выгрузки в ячейках числа а не даты, то используйте в коде VBA
При чем здесь 1С? Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...Автор - Serge_007 Дата добавления - 28.06.2021 в 12:13
Nic70y
Дата: Понедельник, 28.06.2021, 12:37 |
Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9145
Репутация:
2416
±
Замечаний:
0% ±
Excel 2010
yyyuuu , а кто мешает в коде 1с попробовать?
yyyuuu , а кто мешает в коде 1с попробовать?Nic70y
ЮMoney 41001841029809
Ответить
Сообщение yyyuuu , а кто мешает в коде 1с попробовать?Автор - Nic70y Дата добавления - 28.06.2021 в 12:37
yyyuuu
Дата: Понедельник, 28.06.2021, 13:16 |
Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...
Никогда не вешал код из 1с на excel Подскажите тогда пожалуйста в ком какой метод это делает? и можно ли на весь столбец а не только ячейку?
Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...
Никогда не вешал код из 1с на excel Подскажите тогда пожалуйста в ком какой метод это делает? и можно ли на весь столбец а не только ячейку?yyyuuu
Ответить
Сообщение Код VBA надо использовать в Excel, после выгрузки, я же написал об этом...
Никогда не вешал код из 1с на excel Подскажите тогда пожалуйста в ком какой метод это делает? и можно ли на весь столбец а не только ячейку?Автор - yyyuuu Дата добавления - 28.06.2021 в 13:16
RAN
Дата: Понедельник, 28.06.2021, 14:11 |
Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
После строки
Excel = Новый COMОбъект("Excel.Application" )
идет работа именно с вновь созданным экземпляром Excel, используя его объекты, свойства и методы. Поэтому странно, что строка
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 7 ).NumberFormat = "dd/mm/yyyy"
отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов
Sub qq()
Set Excel = CreateObject ("Excel.Application" )
Excel.Visible = True
Set КнигаExcel = Excel.Workbooks.Add()
With КнигаExcel.Sheets(1 )
.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).Value = Date ' или 44375
.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy"
End With
End Sub
После строки
Excel = Новый COMОбъект("Excel.Application" )
идет работа именно с вновь созданным экземпляром Excel, используя его объекты, свойства и методы. Поэтому странно, что строка
КнигаExcel.Sheets(НомерЛиста).Cells(2 , 7 ).NumberFormat = "dd/mm/yyyy"
отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов
Sub qq()
Set Excel = CreateObject ("Excel.Application" )
Excel.Visible = True
Set КнигаExcel = Excel.Workbooks.Add()
With КнигаExcel.Sheets(1 )
.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).Value = Date ' или 44375
.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy"
End With
End Sub
RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Понедельник, 28.06.2021, 14:14
Ответить
Сообщение После строки [vba]
Excel = Новый COMОбъект("Excel.Application")
[/vba] идет работа именно с вновь созданным экземпляром Excel, используя его объекты, свойства и методы. Поэтому странно, что строка [vba]
КнигаExcel.Sheets(НомерЛиста ).Cells(2, 7).NumberFormat = "dd/mm/yyyy"
[/vba] отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов [vba]
Sub qq() Set Excel = CreateObject("Excel.Application") Excel.Visible = Тrue Set КнигаExcel = Excel.Workbooks.Add() With КнигаExcel.Sheets(1) .Range(.Cells(2; 2); .Cells(2; 3)).Value = Date ' или 44375 .Range(.Cells(2; 2); .Cells(2; 3)).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy" End WithEnd Sub
[/vba] Автор - RAN Дата добавления - 28.06.2021 в 14:11
Serge_007
Дата: Понедельник, 28.06.2021, 14:11 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2750
±
Замечаний:
±
Excel 2016
Никогда не вешал код из 1с на excel
Не из 1С Из VBAв ком какой метод это делает?
RAN в своем посте написал
Никогда не вешал код из 1с на excel
Не из 1С Из VBAв ком какой метод это делает?
RAN в своем посте написал Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Никогда не вешал код из 1с на excel
Не из 1С Из VBAв ком какой метод это делает?
RAN в своем посте написал Автор - Serge_007 Дата добавления - 28.06.2021 в 14:11
yyyuuu
Дата: Вторник, 29.06.2021, 02:17 |
Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов Sub qq() Set Excel = CreateObject("Excel.Application") Excel.Visible = True Set КнигаExcel = Excel.Workbooks.Add() With КнигаExcel.Sheets(1) .Range(.Cells(2, 2), .Cells(2, 3)).Value = Date ' или 44375 .Range(.Cells(2, 2), .Cells(2, 3)).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy" End With End Sub Смотрите если Я так же читаю эксель, беру значение и помещаю в Value то тоже работает. ВРоде как обрабатывает и ставит не число а дата. Хотелось бы на сервер не передовать ком да и чтобы на всю колонку вешалась дата и без кликов лишних
отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов Sub qq() Set Excel = CreateObject("Excel.Application") Excel.Visible = True Set КнигаExcel = Excel.Workbooks.Add() With КнигаExcel.Sheets(1) .Range(.Cells(2, 2), .Cells(2, 3)).Value = Date ' или 44375 .Range(.Cells(2, 2), .Cells(2, 3)).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy" End With End Sub Смотрите если Я так же читаю эксель, беру значение и помещаю в Value то тоже работает. ВРоде как обрабатывает и ставит не число а дата. Хотелось бы на сервер не передовать ком да и чтобы на всю колонку вешалась дата и без кликов лишних
yyyuuu
Ответить
Сообщение отмечена как не работающая. 1С у меня нет, но из Word'a сей код работает исправно с любым из форматов Sub qq() Set Excel = CreateObject("Excel.Application") Excel.Visible = True Set КнигаExcel = Excel.Workbooks.Add() With КнигаExcel.Sheets(1) .Range(.Cells(2, 2), .Cells(2, 3)).Value = Date ' или 44375 .Range(.Cells(2, 2), .Cells(2, 3)).NumberFormat = "dd/mm/yyyy" ' или "dd.mm.yyyy" End With End Sub Смотрите если Я так же читаю эксель, беру значение и помещаю в Value то тоже работает. ВРоде как обрабатывает и ставит не число а дата. Хотелось бы на сервер не передовать ком да и чтобы на всю колонку вешалась дата и без кликов лишних
Автор - yyyuuu Дата добавления - 29.06.2021 в 02:17
yyyuuu
Дата: Вторник, 29.06.2021, 02:39 |
Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Ребята подскажите пожалуйста, вроде бы как решение нашел.
//Создание Кнопки
Кнопка1=КнигаExcel.Worksheets(1 ).Buttons.Add(420.5 , 12.5 , 89.5 , 17.5 );
//первые 2 цифарки (420.5 , 12.5 , , ) это координаты точки
//вторые 2 цифарки размеры кнопки длина ширина (, , 89.5 , 17.5 )
Кнопка1.Caption="даты" ;
Кнопка1.OnAction = "CommandButton1_Click" ;
VBComponents = КнигаExcel.VBProject.VBComponents;
Кол = VBComponents.Count();
Модуль = VBComponents.Add(1 );
Модуль.CodeModule.InsertLines(1 ,МакросСЗ);
Создаю кнопку, вешаю макрос.
МакросСЗ = "Sub CommandButton1_Click()
|Set Excel = CreateObject ("" Excel.Application"" )
|Excel.Visible = True
|Set КнигаExcel = Excel.Workbooks.Add()
|With КнигаExcel.Sheets(1 )
|.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).Value = 44375
|.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).NumberFormat = "" dd/mm/yyyy""
|End With
|End Sub ";
Ошибка
Ребята подскажите пожалуйста, вроде бы как решение нашел.
//Создание Кнопки
Кнопка1=КнигаExcel.Worksheets(1 ).Buttons.Add(420.5 , 12.5 , 89.5 , 17.5 );
//первые 2 цифарки (420.5 , 12.5 , , ) это координаты точки
//вторые 2 цифарки размеры кнопки длина ширина (, , 89.5 , 17.5 )
Кнопка1.Caption="даты" ;
Кнопка1.OnAction = "CommandButton1_Click" ;
VBComponents = КнигаExcel.VBProject.VBComponents;
Кол = VBComponents.Count();
Модуль = VBComponents.Add(1 );
Модуль.CodeModule.InsertLines(1 ,МакросСЗ);
Создаю кнопку, вешаю макрос.
МакросСЗ = "Sub CommandButton1_Click()
|Set Excel = CreateObject ("" Excel.Application"" )
|Excel.Visible = True
|Set КнигаExcel = Excel.Workbooks.Add()
|With КнигаExcel.Sheets(1 )
|.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).Value = 44375
|.Range(.Cells(2 , 2 ), .Cells(2 , 3 )).NumberFormat = "" dd/mm/yyyy""
|End With
|End Sub ";
Ошибка yyyuuu
Сообщение отредактировал yyyuuu - Вторник, 29.06.2021, 02:52
Ответить
Сообщение Ребята подскажите пожалуйста, вроде бы как решение нашел. [vba]
//Создание Кнопки Кнопка1 =КнигаExcel.Worksheets(1).Buttons.Add(420.5, 12.5, 89.5, 17.5); //первые 2 цифарки (420.5, 12.5, , ) это координаты точки //вторые 2 цифарки размеры кнопки длина ширина (, , 89.5, 17.5) Кнопка1.Caption ="даты"; Кнопка1.OnAction = "CommandButton1_Click";VBComponents = КнигаExcel.VBProject.VBComponents ; Кол = VBComponents.Count(); Модуль = VBComponents.Add(1); Модуль.CodeModule.InsertLines(1,МакросСЗ );
[/vba] Создаю кнопку, вешаю макрос. [vba]
МакросСЗ = "Sub CommandButton1_Click() |Set Excel = CreateObject(""Excel.Application"") |Excel.Visible = Тrue |Set КнигаExcel = Excel.Workbooks.Add() |With КнигаExcel.Sheets(1) |.Range(.Cells(2, 2), .Cells(2, 3)).Value = 44375 |.Range(.Cells(2, 2), .Cells(2, 3)).NumberFormat = ""dd/mm/yyyy"" |End With |End Sub";
[/vba] Ошибка Автор - yyyuuu Дата добавления - 29.06.2021 в 02:39
yyyuuu
Дата: Вторник, 29.06.2021, 02:41 |
Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
В колонках значения уже есть, колонки 3,7,8 в них можно макросом поставить дата, при этом дважы не кликать на поле чтобы там встала дата а не число? А если все будет работать, кнопку сделать невидимой и при открытие нажимать или из кода vba так же
В колонках значения уже есть, колонки 3,7,8 в них можно макросом поставить дата, при этом дважы не кликать на поле чтобы там встала дата а не число? А если все будет работать, кнопку сделать невидимой и при открытие нажимать или из кода vba так же yyyuuu
Сообщение отредактировал yyyuuu - Вторник, 29.06.2021, 02:43
Ответить
Сообщение В колонках значения уже есть, колонки 3,7,8 в них можно макросом поставить дата, при этом дважы не кликать на поле чтобы там встала дата а не число? А если все будет работать, кнопку сделать невидимой и при открытие нажимать или из кода vba так же Автор - yyyuuu Дата добавления - 29.06.2021 в 02:41
yyyuuu
Дата: Воскресенье, 04.07.2021, 15:10 |
Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Кто нибудь может подсказать ребята?
Кто нибудь может подсказать ребята? yyyuuu
Ответить
Сообщение Кто нибудь может подсказать ребята? Автор - yyyuuu Дата добавления - 04.07.2021 в 15:10
yyyuuu
Дата: Понедельник, 05.07.2021, 09:18 |
Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
МакросСЗ = " Sub CommandButton1_Click()
| Columns("" I:I"" ).Select
| Selection.TextToColumns Destination:=Range("" I1"" ), DataType:=1 , _
| TextQualifier:=1 , ConsecutiveDelimiter:=False , Tab :=True , _
| Semicolon:=False , Comma:=False , Space :=False , Other:=False , FieldInfo _
| :=Array (1 , 1 ), TrailingMinusNumbers:=True
|End Sub ";
VBComponents = КнигаExcel.VBProject.VBComponents;
Кол = VBComponents.Count();
Модуль = VBComponents.Add(1 );
Модуль.CodeModule.InsertLines(1 ,МакросСЗ);
//Выключаем ругательства
Excel.DisplayAlerts = 0 ;
Excel.Visible = 0 ;
Excel.ActiveWindow.DisplayWorkbookTabs = 1 ;
Сделал запись макроса, повесил на кнопку не работает все еще
МакросСЗ = " Sub CommandButton1_Click()
| Columns("" I:I"" ).Select
| Selection.TextToColumns Destination:=Range("" I1"" ), DataType:=1 , _
| TextQualifier:=1 , ConsecutiveDelimiter:=False , Tab :=True , _
| Semicolon:=False , Comma:=False , Space :=False , Other:=False , FieldInfo _
| :=Array (1 , 1 ), TrailingMinusNumbers:=True
|End Sub ";
VBComponents = КнигаExcel.VBProject.VBComponents;
Кол = VBComponents.Count();
Модуль = VBComponents.Add(1 );
Модуль.CodeModule.InsertLines(1 ,МакросСЗ);
//Выключаем ругательства
Excel.DisplayAlerts = 0 ;
Excel.Visible = 0 ;
Excel.ActiveWindow.DisplayWorkbookTabs = 1 ;
Сделал запись макроса, повесил на кнопку не работает все ещеyyyuuu
Сообщение отредактировал yyyuuu - Понедельник, 05.07.2021, 09:18
Ответить
Сообщение [vba]
МакросСЗ = " Sub CommandButton1_Click() | Columns(""I:I"").Select | Selection.TextТoColumns Destination:=Range(""I1""), DataТype:=1, _ | ТextQualifier:=1, ConsecutiveDelimiter:=False, Тab:=Тrue, _ | Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ | :=Array(1, 1), ТrailingMinusЧumbers:=Тrue |End Sub "; VBComponents = КнигаExcel.VBProject.VBComponents ; Кол = VBComponents.Count(); Модуль = VBComponents.Add(1); Модуль.CodeModule.InsertLines(1;МакросСЗ ); //Выключаем ругательства Excel.DisplayAlerts = 0; Excel.Visible = 0; Excel.ActiveWindow.DisplayWorkbookTabs = 1;
[/vba] Сделал запись макроса, повесил на кнопку не работает все еще Автор - yyyuuu Дата добавления - 05.07.2021 в 09:18