Вопрос № 94491: здравствуйте! Подскажите пожалуйста! В таблице EXCEL 2 листа - первый - основной, второй - протокол ошибок первого при заведении данных такого вида:
№ п/п адрес яч выявленное несоответствие значение в ячейке
1 $A$2 Несовпадение значения! ...
Вопрос № 94.491
здравствуйте! Подскажите пожалуйста! В таблице EXCEL 2 листа - первый - основной, второй - протокол ошибок первого при заведении данных такого вида:
№ п/п адрес яч выявленное несоответствие значение в ячейке
1 $A$2 Несовпадение значения! 7д
Мне нужно по указанному на втором листе адресу ($A$2) найти эту ячейку на первом листе и исправить ее значение на правильное.
И второй вопрос: большая таблица EXCEL (50000 записей) экспортировать в .txt и .dbf-формат.
Отправлен: 09.07.2007, 16:27
Вопрос задала: Maychik (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 9)
Отвечает: Черников Игорь Владимирович
Здравствуйте, Maychik!
ответ на первый вопрос:
Sheets("Лист1").Select
If Range("A2") <> "Впишите правильное значение" Then
Range("A2") = InputBox("Замена", "Правильное значение должно дыть:")
End If
ответ на второй вопрос:
ChDir "D:Documents and SettingsГлавныйРабочий стол"
ActiveWorkbook.SaveAs Filename:= _
"D:Documents and SettingsГлавныйРабочий столКнига1.txt", FileFormat:= _
xlText, CreateBackup:=False
ActiveWorkbook.SaveAs Filename:= _
"D:Documents and SettingsГлавныйМои документыКнига1.dbf", FileFormat:= _
xlDBF2, CreateBackup:=False
--------- От каждого по способностям, каждому по труду
Отвечает: PsySex
Здравствуйте, Maychik!
1. В приложении пример исправления ошибок.
2. Приложение "вешается" потому, что вы пытаетесь все поместить в одну строкувую переменную, может оно даже и не вешается, просто возникает большая нагрузка на обработку громадной строки. Поэтому я немного исправил ваш вариант, см. приложение, там сразу идет печать сформированной строки в файл, что намного увеличит скорость. Если же все равно объем большой, и требует много времени, то может возникнуть ощущение зависания(окна не обновляются и т.д.), можно раскоментировать оператор DoEvents, который
позволяет обрабатывать системные события, но немного это притормозит выполнение.
ps непонятно зачем вы объявляете ir и ic синглами, там же будут целочисленные значения - лонги! ;-))
Приложение:
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 11.07.2007, 13:44