Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при формировании XLS файла / 18 сообщений из 18, страница 1 из 1
02.04.2008, 14:05
    #35229862
Ошибка при формировании XLS файла
имеем макрос

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                Set wsr = Application.ActiveSheet
                wsr.Rows("1:10000").Delete Shift:=xlUp
                'If nxlDateTime Then wsr.PageSetup.RightHeader = "&D  &T"
                If SheetFieldName <> "" Then
                    wsd.Activate
                    Set c = wsd.Range(Cells(DataStartRow -  1 ,  1 ), Cells(DataStartRow -  1 , columnsCount)).Find(SheetFieldName, LookIn:=xlValues, LookAt:=xlWhole)
                    If Not c Is Nothing Then
                        [color=red]wsr.Name = wsd.Cells(DataStartRow, c.Column)[/color]
                    End If
                    wsr.Activate
                End If

при формировании документа
падает на строке

wsr.Name = wsd.Cells(DataStartRow, c.Column)

подскажите кто чем может,
в этом я, извините профан

спасибо
...
Рейтинг: 0 / 0
02.04.2008, 14:07
    #35229867
Ошибка при формировании XLS файла
извиняюсь, ошибка

Microsoft Visual Basic

Run-time error '1004'
Application-defined or object-defined error
...
Рейтинг: 0 / 0
02.04.2008, 14:20
    #35229924
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
Чему равно значение wsd.Cells(DataStartRow, c.Column) ?
...
Рейтинг: 0 / 0
02.04.2008, 14:24
    #35229934
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
Вопрос по теме: цвет чего Вы хотите задать командой ...?
если убрать, то все работает
...
Рейтинг: 0 / 0
02.04.2008, 14:36
    #35229993
Ошибка при формировании XLS файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                Set wsr = Application.ActiveSheet
                wsr.Rows("1:10000").Delete Shift:=xlUp
                'If nxlDateTime Then wsr.PageSetup.RightHeader = "&D  &T"
                If SheetFieldName <> "" Then
                    wsd.Activate
                    Set c = wsd.Range(Cells(DataStartRow -  1 ,  1 ), Cells(DataStartRow -  1 , columnsCount)).Find(SheetFieldName, LookIn:=xlValues, LookAt:=xlWhole)
                    If Not c Is Nothing Then
                        wsr.Name = wsd.Cells(DataStartRow, c.Column)
                    End If
                    wsr.Activate
                End If

цвет здесь нипричем - это я выделить хотел здесь просто

я так понимаю, что хочет что-то несуществ-е найти
либо строк в отчете много

подскажите как ограничить условие, чтобы не выполнялась
эта строка

что
дописать в
If Not c Is Nothing Then
чтобы не падало хотя-бы



Код: plaintext
Чему равно значение wsd.Cells(DataStartRow, c.Column) ?

сейчас сообщат
ошибка от меня за несколько тыс км
...
Рейтинг: 0 / 0
02.04.2008, 14:43
    #35230025
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
так! напишите, что должна сделать данная процедура и в какой версии excel вы работаете?

в excel 2003 DataStartRow - пустое значение, SheetFieldName - так же пустое значение и зачем активировать текущий лист командой Activate, если он активный по определению, так как производится чтение Application.ActiveSheet, то есть из текущего(активного) листа.
...
Рейтинг: 0 / 0
02.04.2008, 14:43
    #35230027
Ошибка при формировании XLS файла
формируют отчет с 1.01 по 31.03

я так понимаю больше 65тыс строк

подскажите как написать костыль
...
Рейтинг: 0 / 0
02.04.2008, 14:44
    #35230036
Ошибка при формировании XLS файла
могу дать весь этот макрос

посмотрите??

да, версия 2003
...
Рейтинг: 0 / 0
02.04.2008, 14:45
    #35230040
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
и еще вопрос: wsd - это что за объект?
...
Рейтинг: 0 / 0
02.04.2008, 14:46
    #35230044
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
12345вышелзайчикпогулятьмогу дать весь этот макрос



это стоило сделать изначально
...
Рейтинг: 0 / 0
02.04.2008, 14:55
    #35230092
Ошибка при формировании XLS файла
выслал на указанный в профиле ящик
...
Рейтинг: 0 / 0
02.04.2008, 15:23
    #35230180
Ошибка при формировании XLS файла
люди добрые помогите, что писать
я в Бейсике нибумбум, помогайте

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
                Set wsr = Application.ActiveSheet
                wsr.Rows("1:10000").Delete Shift:=xlUp
                'If nxlDateTime Then wsr.PageSetup.RightHeader = "&D  &T"
                If SheetFieldName <> "" Then
                    wsd.Activate
                    Set c = wsd.Range(Cells(DataStartRow -  1 ,  1 ), Cells(DataStartRow -  1 , columnsCount)).Find(SheetFieldName, LookIn:=xlValues, LookAt:=xlWhole)
                    If Not c Is Nothing Then

                       если DataStartRow >  65535 
                              добавить новый лист
                             Set wsr = Application.новый лист
                       конецесли
                        [color=red]wsr.Name = wsd.Cells(DataStartRow, c.Column)[/color]
                    End If
                    wsr.Activate
                End If


...
Рейтинг: 0 / 0
02.04.2008, 15:24
    #35230183
Ошибка при формировании XLS файла
помогите костыль написать
...
Рейтинг: 0 / 0
02.04.2008, 15:36
    #35230236
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
нда .... не слабый там код ... а не проще обратиться к тому, кто его написал?
...
Рейтинг: 0 / 0
02.04.2008, 15:47
    #35230281
Ошибка при формировании XLS файла
ну напиши мне на бейсике


если DataStartRow > 65535
добавить новый лист
Set wsr = Application.новый лист
конецесли
...
Рейтинг: 0 / 0
02.04.2008, 15:56
    #35230323
Korcar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
нет, добавлением нового листа тут ничего не решить, потому что данных то на нем не будет.
Для проверки просто можно обрезать переменную DataStartRow

if DataStartRow > 65536 then
DataStartRow = 65536
end if
...
Рейтинг: 0 / 0
02.04.2008, 16:54
    #35230583
Ошибка при формировании XLS файла
авторДля проверки просто можно обрезать переменную DataStartRow

мне нужно создать новый лист
и в нем начать запись строк
...
Рейтинг: 0 / 0
03.04.2008, 10:02
    #35231838
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при формировании XLS файла
> Автор: 12345вышелзайчикпогулять
> автор
> Для проверки просто можно обрезать переменную DataStartRow
>
>
> мне нужно создать новый лист
> и в нем начать запись строк

Ну так и создавай!
ставь проверку на количество строк и если идет превышение, создавай новый
лист, прасваивай переменной листа созданный лист, переустанавливай счетчик
активной строки в 1,2 или во сколько нужно и продолжай работать. Ничего
военного там нет :)
Только я здесь уже писал, что тестировал такой рассклад потому что данные
стали "вылазить" за количество строк на листе, у меня на 19 листах данные
без десятка строк на каждом листе и порядка 30 столбцов Ексель сказал что
больше не хочу ничего делать и с этими данными я не мог ничего сделать, ни
сумму поставить ни формат поменять. Ничего

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при формировании XLS файла / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]