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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2010, 13:27   #31
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
Да, работает, перехожу в свою книгу, не работает!!
Я фигею, ни чего не делал, все заработало.
Из книги беса выгнать надо
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.11.2010, 14:08   #32
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Из книги беса выгнать надо
Попробуй, опять не работает!!!!!
Вложения
Тип файла: rar 123.rar (37.7 Кб, 4 просмотров)
valerij вне форума Ответить с цитированием
Старый 02.11.2010, 15:07   #33
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

У меня тоже не хочет работать с не целым числом
Попробуй так

Код:
Sub ПроверкаЗарПлаты()
Application.EnableEvents = False: Application.ScreenUpdating = False
If (ActiveSheet.Name = "ЛЕН") Then Procent = 39
    'For dat = 0 To 1
    With Cells(39, 7)
        .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])/1000 * " & Procent
            .NumberFormat = "0"
            '.Value = .Value
End With
    'Next
Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.11.2010, 15:30   #34
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
У меня тоже не хочет работать
Сереж, закоментируй тот код и вставь этот, все работает, во БЕС!!!
Код:
Sub ПроверкаЗарПлаты()
    Application.EnableEvents = False: Application.ScreenUpdating = False
    If (ActiveSheet.Name = "ЛЕН") Then Procent = "0.039"
        With Cells(39, 7)
            .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])* " & Procent
            .NumberFormat = "0"
            '.Value = .Value
        End With
    Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
valerij вне форума Ответить с цитированием
Старый 02.11.2010, 16:05   #35
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

И еще, как добавить в это условие:
Код:
If (ActiveSheet.Name = "Лист1") Then Procent = "0.039"
If (ActiveSheet.Name = "Лист2") Then Procent = "0.042"
If (ActiveSheet.Name = "Лист3") Then Procent = "0.0465"
А остальные Листы не проверять, дело в том, что этот макрос запускается у меня кл. F4 и если нажать на остальных листах, выскакивает ошибка
valerij вне форума Ответить с цитированием
Старый 02.11.2010, 21:05   #36
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

А тут, кто нить ответит? Наверное есть короче, путь!!
Код:
Sub ПроверкаЗарПлаты()
    If (ActiveSheet.Name = "Лист1") Then Procent = "0.039"
    If (ActiveSheet.Name = "Лист2") Then Procent = "0.042"
    If (ActiveSheet.Name = "Лист3") Then Procent = "0.0465"
    If (ActiveSheet.Name = "Лист4") Then GoTo 1
    If (ActiveSheet.Name = "Лист5") Then GoTo 1
    If (ActiveSheet.Name = "Лист6") Then GoTo 1
    If (ActiveSheet.Name = "Лист7") Then GoTo 1
    For dat = 0 To 30
        With Cells(dat * 44 + 39, 7)
            .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])* " & Procent
            .NumberFormat = "0"
            '.Value = .Value
        End With
    Next
1:
End Sub
valerij вне форума Ответить с цитированием
Старый 02.11.2010, 21:16   #37
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот так работает
Код:
Sub ПроверкаЗарПлаты()
    If (ActiveSheet.Name = "Лист1") Then Procent = "0.039"
    If (ActiveSheet.Name = "Лист2") Then Procent = "0.042"
    If (ActiveSheet.Name = "Лист3") Then Procent = "0.0465"
    If (ActiveSheet.Name <> "Лист1") And (ActiveSheet.Name <> "Лист2") And (ActiveSheet.Name <> "Лист3") Then Exit Sub
    For dat = 0 To 30
        With Cells(dat * 44 + 39, 7)
            .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])* " & Procent
            .NumberFormat = "0"
            '.Value = .Value
        End With
    Next
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 02.11.2010 в 21:21.
VictorM вне форума Ответить с цитированием
Старый 02.11.2010, 21:29   #38
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Ну и я свой вариант предложу:

Код:
Sub ПроверкаЗарПлаты()

    Select Case ActiveSheet.Name ' в зависимости от имени листа
        Case "Лист1": Procent = "0.039"
        Case "Лист2": Procent = "0.042"
        Case "Лист3": Procent = "0.0465"
        Case Else: Exit Sub    ' выход из процедуры
    End Select
    
    For dat = 0 To 30
        With Cells(dat * 44 + 39, 7)
            .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])* " & Procent
            .NumberFormat = "0"
            '.Value = .Value
        End With
    Next
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 02.11.2010, 21:36   #39
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

А я так, додумал
Код:
Sub ПроверкаЗарПлаты()
    iCodeName = ActiveSheet.CodeName
    If iCodeName > "Лист3" Then Exit Sub
    If iCodeName = "Лист1" Then Procent = "0.039"
    If iCodeName = "Лист2" Then Procent = "0.042"
    If iCodeName = "Лист3" Then Procent = "0.0465"
    For dat = 0 To 30
        With Cells(dat * 44 + 39, 7)
            .FormulaR1C1 = "=(R[-4]C[1]-R[4]C[1])* " & Procent
            .NumberFormat = "0"
            '.Value = .Value
        End With
    Next
End Sub
Супер, теперь есть из чего выбирать!!!

З. Ы.
Так с той, странной ошибкой и непонятки!!??
valerij вне форума Ответить с цитированием
Старый 02.11.2010, 21:46   #40
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Так с той, странной ошибкой и непонятки!!??
Это о чем?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Значение выбранного диапазона. Vasek007 Microsoft Office Excel 2 29.09.2010 21:53
Как отследить значение переменной в другом приложении vramil Общие вопросы Delphi 7 23.05.2010 16:27
Вывести текст в зависимости от выбранного Polotenchik HTML и CSS 2 16.04.2010 13:44
как получить значение переменной smoke888 PHP 3 20.06.2008 02:11
Как получить значение системной переменной в С++ PersonaGrata Общие вопросы C/C++ 2 29.02.2008 22:14