powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при формировании XLS файла
18 сообщений из 18, страница 1 из 1
Ошибка при формировании XLS файла
    #35229862
имеем макрос

Код: 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
Ошибка при формировании XLS файла
    #35229867
извиняюсь, ошибка

Microsoft Visual Basic

Run-time error '1004'
Application-defined or object-defined error
...
Рейтинг: 0 / 0
Ошибка при формировании XLS файла
    #35229924
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чему равно значение wsd.Cells(DataStartRow, c.Column) ?
...
Рейтинг: 0 / 0
Ошибка при формировании XLS файла
    #35229934
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по теме: цвет чего Вы хотите задать командой ...?
если убрать, то все работает
...
Рейтинг: 0 / 0
Ошибка при формировании XLS файла
    #35229993
Код: 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
Ошибка при формировании XLS файла
    #35230025
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так! напишите, что должна сделать данная процедура и в какой версии excel вы работаете?

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

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

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

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

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



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

Код: 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
Ошибка при формировании XLS файла
    #35230183
помогите костыль написать
...
Рейтинг: 0 / 0
Ошибка при формировании XLS файла
    #35230236
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нда .... не слабый там код ... а не проще обратиться к тому, кто его написал?
...
Рейтинг: 0 / 0
Ошибка при формировании XLS файла
    #35230281
ну напиши мне на бейсике


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

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

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

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

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


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