Работа с ячейками
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Работа с ячейками Expand / Collapse
Автор
Сообщение
22.05.2007 11:11
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.05.2007 15:12
Сообщ.: 5, Visits: 8
ЗДравствуйте в вба совсем 0  так что сильно не ругайте.

Такой вопрос как можно проверить есть ли в ячейке формула? причем именно формула, а не число. То есть проверка должна осуществляться по знаку равенства: есть ли есть знак равенства то выполлнять следующее.

Sub MakeUpperCase()
    Dim Cell As Range
     For Each Cell In Selection
  
     If если в ячейке есть знак равенства

  Then то выолнят следующее 

           Selection.Locked = False
            Selection.FormulaHidden = False
        End If
    Next Cell
End Sub

Сообщ. #913520
22.05.2007 11:25
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.03.2008 5:12
Сообщ.: 386, Visits: 4 197
http://www.relib.com/forums/Topic808235-11-1.aspx
Сообщ. #913523
22.05.2007 12:39
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.05.2007 15:12
Сообщ.: 5, Visits: 8
ВСе вроде получается но дело в том что как я понял в екселе цифры тоже формула а мне нужно чтобы выбирало только формулу то есть проверка осуществлялась по знаку равенства что если есть знак значит это формула
Сообщ. #913527
22.05.2007 12:48
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.05.2007 15:12
Сообщ.: 5, Visits: 8
Sub MakeUpperCase()
    Dim Cell As Range
   
        
    For Each Cell In Selection
        If Cell(1, 1).Value = "" Then MsgBox "Пусто"
            Cell(1, 1).Locked = False
            Cell(1, 1).FormulaHidden = False
       
    Next Cell
      
End Sub

Что у меня неправильно? он убирает защиту во всех выбранных ячейках а мне надо только в тех где нет формулы...

Сообщ. #913528
22.05.2007 13:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 21.03.2008 5:12
Сообщ.: 386, Visits: 4 197


For Each r In Selection
If r.HasFormula Then
msg = "формула"
Else
If r = "" Then
msg = "Пусто"
Else
msg = "не Пусто"
End If
End If
MsgBox r.Address & vbCr & msg
Next
Сообщ. #913532
22.05.2007 13:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 04.03.2008 17:37
Сообщ.: 9, Visits: 64
Для одной ячейки.

Dim s As String
s = Range("J19").Formula
    If Left(s, 1) = "=" Then
        Range("J21").Value = "Формула"
    End If
Сообщ. #913534
22.05.2007 13:33
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.05.2007 15:12
Сообщ.: 5, Visits: 8
Большой респект попал прямо в точку. не посоветуешь какую нибудь литературу для чайника по VBA лучше электроную. Программировать то не проблема научиться но вот с синтаксисом проблемы. я в 1С работаю там "немного" все подругому :)
Сообщ. #913535
22.05.2007 13:35
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 22.05.2007 15:12
Сообщ.: 5, Visits: 8
Мессага была к Масалову
Сообщ. #913536
22.05.2007 13:45
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being