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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2012, 19:05   #21
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

Гм, не пашет почему-то(
Я так понимаю, надо просто строчку заменить на ActiveSheet.UsedRange.Offset(1).Cle ar
? или процедуры добавить? В общем почему-то не работает ни так ни так(
TorLink вне форума Ответить с цитированием
Старый 08.10.2012, 19:51   #22
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Показывайте файл, где не работает - наладим.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 08.10.2012, 20:42   #23
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

файл...
заменил строку, я так понимаю вы в редакторе пишете поэтому везде начало и конец процедуры)
или всё таки отдельно надо выносить?

Клёво, 10строк в 2 колонки + 3кб в архиве , как-то жестко))
Вложения
Тип файла: rar Брюки.rar (14.4 Кб, 11 просмотров)

Последний раз редактировалось TorLink; 08.10.2012 в 20:50.
TorLink вне форума Ответить с цитированием
Старый 08.10.2012, 21:11   #24
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Нормально всё работает - смотрите пошагово.
Но кроме того, что шапку оставляем - её ведь ещё и данными затирать не нужно - вот тут:
Код:
[a1].Resize(ii, 2) = b
Замените на
Код:
[a2].Resize(ii, 2) = b
И зачем там эти пустые модули - поубирайте, чтоб позже Вас с толку не сбивали.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 08.10.2012, 23:45   #25
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
Хорошо

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Нормально всё работает - смотрите пошагово.
Замените на
Код:
[a2].Resize(ii, 2) = b
И зачем там эти пустые модули - поубирайте, чтоб позже Вас с толку не сбивали.
Ага, не додумался что оно перетирается)
Да это понятно.. этож просто черновик, потом файлик нормально уже создам...
Спасибо, вроде работает
TorLink вне форума Ответить с цитированием
Старый 09.10.2012, 14:41   #26
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

А мб кто нить ещё подскажет, как через COM соединение вставить текст в модуль листа? Что-то типа: Sheets("Лист заказа"). module = "текст модуля"
Есть??
TorLink вне форума Ответить с цитированием
Старый 09.10.2012, 14:51   #27
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

http://www.msoffice.nm.ru/faq/macros.htm
В районе 398
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 09.10.2012, 15:27   #28
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

Во, полезный FAQ. Thx
TorLink вне форума Ответить с цитированием
Старый 09.10.2012, 18:34   #29
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

Очередная проблемка(
ActiveWorkbook.VBProject.VBComponen ts(1).CodeModule.InsertLines 1, "Option Explicit"
Отрабатывает нормально, правда надо разрешить права в безопасности макросов...
НО, он записывает в Модуль Книги, а мен то надо в модуль листа...

при этом, например: WorkBooks.Sheets(1) не видит VBProject , как же добраться до его модуля??

Отбой, VBComponents это коллекция модулей оказывается((...

Последний раз редактировалось TorLink; 09.10.2012 в 19:36.
TorLink вне форума Ответить с цитированием
Старый 10.10.2012, 00:50   #30
TorLink
Пользователь
 
Регистрация: 06.10.2012
Сообщений: 23
По умолчанию

Код:
Private Sub Worksheet_Activate()
    Dim a(), i&, ii& //создаем матрицу
    Cells.Clear
    a = Sheets("Лист заказа").UsedRange.Columns(1).Resize(, 5).Value //заполняем матрицу из первых колонок , расшряем + 5 колонок

    ReDim b(1 To UBound(a), 1 To 2) // из первой матрицы получаем вторую. Не совсем понятно как

    For i = 1 To UBound(a) цикл с одного по количество элементов первого массива

        If Len(a(i, 1)) Then //не совсем понял что за два параметра у массива
            
If IsNumeric(a(i, 1)) //Then то же самое. Видимо проверка на числовое значение.

                If a(i, 1) > 0 Then проверяем на ноль
                    ii = ii + 1 //инкремент
                    b(ii, 1) = a(i, 1) //заполняем вторую матрицу 
                    b(ii, 2) = a(i, 1) * a(i, 5) //...
                End If
            End If
        End If
    Next
    [a2].Resize(ii, 2) = b // тут просьба объяснить) понятно, что записываем полученную таблицу b, только не понятно как..
End Sub
В общем при изменении структуры колонок оно само собой ругается...
Надо бы подкорректировать, только вот не совсем разобрался с кодом(

Код:
With Sheets(""Сумма заказа"").UsedRange
.Resize(.Rows.Count - 1).Offset(1).Clear
End With
На этой строчке он тоже ругается, не понятно только как на это может повлиять что-то, ведь мы просто убираем одну строчку "Offset(1)" - это что?

Последний раз редактировалось TorLink; 10.10.2012 в 02:00.
TorLink вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Обработчик события yulshaz Помощь студентам 7 24.09.2012 08:12
Обработчик события окна 3StYleR Паскаль, Turbo Pascal, PascalABC.NET 0 25.04.2012 16:54
Обработчик события yardie Общие вопросы .NET 3 26.03.2011 18:30
Динамический обработчик события SKYDOS Помощь студентам 2 11.04.2008 06:46
Обработчик события... Flash_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 12.03.2007 21:24