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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2011, 17:52   #1
johny_03
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 134
По умолчанию ошибка в коде

имеется кнопка с нормально работающим кодом:
Код:
Private Sub CommandButton1_Click()

R_Count = Sheets(2).Range("A65000").End(xlUp).Rows.Row

R_Live = Sheets(2).Range("A2:A" & R_Count)
 R_Count = Sheets(1).Range("A65000").End(xlUp).Rows.Row
 
 DDT = Sheets(1).Range("B1:B" & R_Count)
 
 For n = R_Count To 2 Step -1
 
 For m = 1 To UBound(R_Live)
 hh = LTrim(DDT(n, 1))
 If InStr(1, LTrim(DDT(n, 1)), R_Live(m, 1), vbTextCompare) = 1 Then GoTo 111

 Next
  Sheets(1).Rows(n).Delete
111
 Next
  
End Sub
Когда я добавляю код следующего содержания:
Код:
Sheets("Лист2").Select           ' выводит сумму столбца С листа1
    Range("F15").Select
    Selection.Font.ColorIndex = 3
    ActiveCell.FormulaR1C1 = "=SUM(Лист1!R[-11]C[-1]:R[65000]C[-1])"
    Sheets("Лист2").Select
    Range("E15").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Выторг"
    Selection.Font.ColorIndex = 0
то у меня идет неправильный подсчет (первый код не так работает, как надо). Скорее всего дело в цикле первого кода. Подскажите, как мне можно привязать второй код к первому на одну кнопку.
Заранее спасибо!
johny_03 вне форума Ответить с цитированием
Старый 19.04.2011, 21:19   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ну никто же не мешает Вам предпоследней строкой вставить:
Код:
...
  Sheets(1).Rows(n).Delete
111
 Next
call MySub  
End Sub
sub MySub
    [F15].Font.ColorIndex = 3
    [F15].FormulaR1C1 = "=SUM(Лист1!R[-11]C[-1]:R[65000]C[-1])"
with Sheets("Лист2").[E15].
   .Font.Bold = True
   .value = "Выторг"
   .Font.ColorIndex = 0
end with
end sub
Дальше все будет зависеть только от правильности Вашей формулы.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 19.04.2011, 21:49   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Поскольку Вашего файла нет, заочно попробовал усовершенствовать Ваш код:
Код:
Sub CommandButton1_Click()
    DDT = Sheets(1).Range("B1:B" & Sheets(1).[A65000].End(xlUp).Row)
    For n = Sheets(1).[A65000].End(xlUp).Rows.Row To 2 Step -1
        R_Live = Sheets(2).Range("A2:A" & Sheets(2).[A65000].End(xlUp).Row)
        For m = 1 To UBound(R_Live)
            If InStr(1, LTrim(DDT(n, 1)), Sheets(2).Range("A2:A" & Sheets(2).[A65000].End(xlUp).Row)(m, 1), vbTextCompare) = 1 Then: _
        Exit For: Else: Sheets(1).Rows(n).Delete: Exit For
        Next: Next: Call MySub
End Sub

Sub MySub()
    With Sheets(1).[F15]: .Font.ColorIndex = 3: .FormulaR1C1 = "=SUM(Лист1!R[-11]C[-1]:R[65000]C[-1])": End With
    With Sheets(2).[E15]: .Font.Bold = True: .Value = "Выторг": .Font.ColorIndex = 0: End With
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 19.04.2011 в 23:45.
kuklp вне форума Ответить с цитированием
Старый 19.04.2011, 23:21   #4
johny_03
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 134
По умолчанию

Большое спасибо!
johny_03 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде drzod C# (си шарп) 1 21.02.2011 12:03
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
C#, ошибка в коде StudentPolitech Общие вопросы .NET 3 19.09.2010 21:34
ошибка в коде Pytnik Паскаль, Turbo Pascal, PascalABC.NET 45 25.05.2010 17:30
Ошибка в коде hacknet Компоненты Delphi 12 07.12.2008 14:23