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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 12:14   #1
bumer7721
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 58
Восклицание Не работает Sheets("Всього").Activate

У меня код

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Row, Col, i As Integer
 Dim s, ss As String
 Dim dd As Double
 
 Col = Target.Column
 
 If Col = 2 Then
 
 Row = Target.Row
 dd = Target.Value
 
 s = Range("A" + Format(Row)).Text
 
 Sheets("Всього").Activate \\здесь должен активироватса другой лист но   он                  не активируетса
 i = 2
 ss = "A" + Format(i)
 While (s <> Range(Всього!s).Text) And (Range(Всього!s).Text <> "")
  i = i + 1
 Wend
 
 If Range(Всього!s).Text <> "" Then
  Range(Всього!s).Value = Range(Всього!s).Value + dd
 End If
 
 End If
 
End Sub
как его активировать???
bumer7721 вне форума Ответить с цитированием
Старый 27.09.2011, 12:18   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Код:
If Range(Всього!s).Text
И что, это у вас работает???

Весь код надо нафиг удалить, и заменить его 2 строками нормального кода.
Но, чтобы это сделать, - надо увидеть ваш файл Excel (который вы забыли прикрепить)
EducatedFool вне форума Ответить с цитированием
Старый 27.09.2011, 12:32   #3
bumer7721
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 58
По умолчанию

Извиняюсь не то скопировал
ВОТ:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Row, Col, i As Integer
 Dim s, ss As String
 Dim dd As Double
 
 Col = Target.Column
 
 If Col = 2 Then
 
 Row = Target.Row
 dd = Target.Value

 s = Range("A" + Format(Row)).Text
 
 Sheets("Всього").Activate
 i = 2
 While (s <> Range("A" + Format(i)).Text) And (Range("A" + Format(i)).Text <> "")
  i = i + 1
 Wend
 
 If Range("A" + Format(i)).Text <> "" Then
  Range("b" + Format(i)).Value = Range("b" + Format(i)).Value + dd
 End If
 
 End If
 
End Sub
bumer7721 вне форума Ответить с цитированием
Старый 27.09.2011, 12:37   #4
bumer7721
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 58
По умолчанию

Вот файл:
ммммммммммммммммммммммммммммммммммм м
Вложения
Тип файла: zip Бугалтерія.zip (22.5 Кб, 11 просмотров)
bumer7721 вне форума Ответить с цитированием
Старый 27.09.2011, 12:37   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Без всяких циклов и активации листа:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 2 Or Target.Count > 1 Then Exit Sub
    Dim cell As Range: On Error Resume Next
    Set cell = Sheets("Всього").Range("a:a").Find(Target.EntireRow.Cells(1).Text, , xlValues, xlWhole).Next
    cell = Val(cell) + Val(Target)
End Sub
Пример в вашем файле: http://excelvba.ru/XL_Files/Sample__...__14-41-07.zip

Последний раз редактировалось EducatedFool; 27.09.2011 в 12:41.
EducatedFool вне форума Ответить с цитированием
Старый 27.09.2011, 12:50   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

У меня первый напрашивающийся ответ на "Не работает Sheets("Всього").Activate"(ещё не глядя в топик) - и не нужно!

Хотя в Вашем примере Sheets("Всього").Activate исправно отрабатывает, дальше не отслеживал...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 27.09.2011 в 12:55.
Hugo121 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МасОС не работает ,хоть и Видит,Интернет и "сломалась" "Сеть" =/ ApxuKILLER Операционные системы общие вопросы 2 05.05.2011 08:22
Как работает system("copy \"C:\\1\"")? Alena-b-v Общие вопросы C/C++ 4 01.09.2010 17:27
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Почему не работает Case txt Like "текст1", "текст2" Oooleg Microsoft Office Excel 2 15.07.2009 10:08