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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 14:27   #11
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
и скобок у тебя излишне, нет, это все работает,но зачем писать:
(((1+3)))/5
Мне так легче формулу смотреть из-за скобок - если много вложений - бывает глаза с ума сходят =)
спасибо за помощь

Ну и для общего понимания
"""" - это значит эксель будет вставлять кавычки
"" - это значит эксель будет всавлять ничего
Правильно?

Как тут в репутацию плюсеги ставить?

Последний раз редактировалось Questru; 21.12.2010 в 14:33.
Questru вне форума Ответить с цитированием
Старый 21.12.2010, 14:41   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а не пропущен ли случайно в самом начале ЕСЛИ(... и скобки посчитать правильно

согласен, на Руси издревле аргуметы в формулах разделялись ";"
если FormulaLocal - то ";"
если Formula - то ",". она потом каким-то чудесным образом (известным только Биллу Гейтсу) трансформируется в ";".
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.12.2010, 14:51   #13
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

попробуй это:
Код:
Sub f()
   Debug.Print Chr(34)
   Debug.Print "****************"
   Debug.Print "", 2
   Debug.Print """", 4
   Debug.Print """""", 6
   Debug.Print """""""", 8
End Sub
[n_"_out] = ([n_"_in] - 2)/2
аналитика вне форума Ответить с цитированием
Старый 21.12.2010, 15:40   #14
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Всем большое спасибо =) у меня все работает с запятыми - проблема была в кавычках по всей видимости
Questru вне форума Ответить с цитированием
Старый 22.12.2010, 09:25   #15
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

поторопился
Стал тестировать на другом файле - как оказалось данный макрос ищет обычным поиском.
Цитата:
Set IRange_3 = Range("D5:D" & LastRow_2)

iText_3$ = "BRACKET-AV"
For Each iCell In IRange_3
If iCell.Text = iText_3$ Then
lRow_3 = iCell.Row
End If
Next
И если в ячейке стоит BRACKET-AV MODULE и он стоит ниже искомого значения, то он макрос находит BRACKET-AV MODULE. Как сделать чтобы он искал точное совпадение BRACKET-AV?



Я в принципе могу попробовать по другому, но все упирается в строчку lRow_3 = iCell.Row - как iCell.Row заменить на номер j-той строки?
Цитата:
For j = 5 To LastRow_2

iText_3$ = "BRACKET-AV"
If Cells(j, 4).Text = iText_3 And Cells(j, 1).Value = 3 Then
lRow_3 = jCell.Row
End If
Next j

Последний раз редактировалось Questru; 22.12.2010 в 09:34.
Questru вне форума Ответить с цитированием
Старый 22.12.2010, 09:35   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
For j = 5 To LastRow_2
iText_3$ = "BRACKET-AV"
If Cells(j, 4).Text = iText_3 And Cells(j, 1).Value = 3 Then
  lRow_3 = j
  exit for
End If
Next j
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.12.2010, 09:41   #17
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
For j = 5 To LastRow_2
iText_3$ = "BRACKET-AV"
If Cells(j, 4).Text = iText_3 And Cells(j, 1).Value = 3 Then
  lRow_3 = j
  exit for
End If
Next j
exit for - чтобы при найденном значении цикл дальше не крутить? Получается что все остальные совпадения он игнорирует?

Последний раз редактировалось Questru; 22.12.2010 в 09:45.
Questru вне форума Ответить с цитированием
Старый 22.12.2010, 10:17   #18
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Как сделать чтобы он искал точное совпадение BRACKET-AV?
Вот так попробуйте
Код:
Sub tt()
    iText$ = "Образец"    'образец для поиска
    Dim iCell As Range
    Set IRange = Range("A1:A10")
    Set iCell = IRange.Find(What:=iText$, LookIn:=xlValues, LookAt:=xlPart)
    'Если необходимо использовать строгое соответствие, то замените константу xlPart на xlWhole
    If Not iCell Is Nothing Then
        iAddress$ = iCell.Address
        Do
            iRow& = iRow& + 1
            MsgBox iCell.Row
            Set iCell = IRange.FindNext(After:=iCell)
        Loop While Not iCell Is Nothing And iCell.Address <> iAddress$
    End If
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.12.2010, 11:10   #19
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Cells(5, 23).FormulaLocal = "=ЕСЛИОШИБКА(ВПР(ПСТР(B5,1,10), '" & iPath & "[2011 LoL PIC list_(Full).xlsx]Sheet1'!$H$3:$AE$1500,3,0),"""")"
Range(Cells(5, 23), Cells(LastRow, 23)).Select
Selection.AutoFill Destination:=Range(Cells(5, 23), Cells(LastRow, 23)), Type:=xlFillValues
Выдает ошибку, как я понял из описания задаю неверно диапозон автозаполнения... Что делать?


Последний раз редактировалось Questru; 22.12.2010 в 11:48.
Questru вне форума Ответить с цитированием
Старый 20.01.2011, 10:43   #20
Questru
Почемучка-новичок
Пользователь
 
Регистрация: 08.10.2010
Сообщений: 67
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Код:
Sub Найти()
    Set IRange = Range("A1:A10") 'нужно будет определиться, где искать
    iText$ = "Образец" 'и что искать
    For Each iCell In IRange
        If iCell.Text = iText$ Then
            lRow = iCell.Row
            MsgBox lRow
        End If
    Next
End Sub
Сори что поднял тему. Но возник вопрос. Данный способ работает на 5+, если слова в ячейке написаны отдельно, то есть с пробелами.
А если в ячейке есть текст, приблизительно с таким содержанием -> CNE-PO99D9232KAYR
Как заставить работать макрос, чтобы в этом слове искал "PO", и, уже отталкиваясь от этого, начинал работать макрос.

И так уж получилось, что содержание ячейки чаще разные и по количеству символов и по местонахождению этих букв.
Questru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фон ячейки в зависимости от значения Brucebelg Microsoft Office Excel 2 01.09.2010 17:46
Имя листа в зависимости от ячейки bud-dy Microsoft Office Excel 5 05.02.2010 14:22
Окраска ячейки в зависимости от значения Апчхи Microsoft Office Excel 6 16.08.2009 19:31
If в зависимости от цвета ячейки tae1980 Microsoft Office Excel 2 16.03.2009 16:19
кодирование содержания ячейки stbo Microsoft Office Excel 29 27.01.2009 13:37