Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2011, 21:35   #1
TKinfront
Новичок
Джуниор
 
Регистрация: 05.10.2010
Сообщений: 1
По умолчанию Макрос по авто сохранению данных в формат CSV, где ошибки?

Доброе время суток!
Есть задача: С файла .xls скопировать значения ячеек и сохранить в файл под другим именем с расширением .CSV (данные должны отображаться в ячейках, а не разделителями ";") каждый день в 18:15.


Додумался до такого:

Sub Auto_Open()
Application.OnTime TimeValue("18:15"), "NoFormulas"
End Sub

Sub NoFormulas()
Application.ScreenUpdating = False
Worksheets(1).Activate
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

[a1].Select
Cells.Replace What:="N/A N/A", Replacement:="n/a", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="#ÇÍÀ×!", Replacement:="n/a", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:= _
"C:\shares\Weekly\38companies1. csv ", FileFormat:= _
xlCSV, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Workbooks.Open Filename:= _
"C:\shares\Weekly\Database_for_site _Fin_results_and_estimates_38_equit ies2.xls"
Windows("38companies1.csv").Activat e

Range("A1:A51").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), _
Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array( _
59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), _
Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array( _
72, 1), Array(73, 1), Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1), _
Array(79, 1), Array(80, 1), Array(81, 1), Array(82, 1), Array(83, 1), Array(84, 1), Array( _
85, 1), Array(86, 1), Array(87, 1), Array(88, 1), Array(89, 1), Array(90, 1), Array(91, 1), _
Array(92, 1), Array(93, 1), Array(94, 1), Array(95, 1), Array(96, 1), Array(97, 1), Array( _
98, 1), Array(99, 1), Array(100, 1), Array(101, 1), Array(102, 1), Array(103, 1), Array(104 _
, 1), Array(105, 1), Array(106, 1), Array(107, 1), Array(108, 1), Array(109, 1), Array(110, _
1), Array(111, 1), Array(112, 1), Array(113, 1), Array(114, 1), Array(115, 1), Array(116, 1 _
), Array(117, 1), Array(118, 1), Array(119, 1), Array(120, 1), Array(121, 1), Array(122, 1) _
, Array(123, 1), Array(124, 1)), TrailingMinusNumbers:=True
ActiveWorkbook.Save

ActiveWorkbook.Close (False)
Application.DisplayAlerts = True
End Sub


Основные проблемы:
1) красным выделена часть макроса, которая не работает! Она была написана из-за того, что в сsv файле нужно разбить все значения по столбцам.
2) Есть ли способ решить эту проблему по другому или как исправить данный макрос?


ЗАРАНЕЕ СПАСИБО!!!
TKinfront вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CSV —> Эксель. Изменение данных siteograf Microsoft Office Excel 5 30.06.2010 22:20
слияние данных из csv в excel dark7to Microsoft Office Excel 5 27.08.2009 20:06
CSV формат Jarik Microsoft Office Excel 2 24.07.2009 17:28
Формат .csv. Rashanea Microsoft Office Excel 8 27.11.2008 15:57
Копирование данных из csv в xls Lenin21 Microsoft Office Excel 0 06.11.2008 21:10