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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2009, 18:25   #11
Igor67
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 56
По умолчанию

Валерий, на каком листе Вы ищите?
Это обработка конкретного листа iLL)
With Sheets(iLL)
.Cells(iRow, 3).Resize(41).Value = iPrices
End With
А вот здесь Вы обращаетесь к активному на данный момент листу

If p > 0 Then
With Cells(iRow, 3).Characters(Start:=p, Length:=2).Font
.FontStyle = "bold"
.Color = -16776961
End With
End If

----------------------
Возможно так
With Sheets(iLL)
For iRow = 3 To 1623 Step 54

.Cells(iRow, 3).Resize(41).Value = iPrices

p = InStr(.Cells(iRow, 3), "УП")
"p = .InStr(.Cells(iRow, 3), "УП").Resize(41).Value = iPrices
If p > 0 Then
With .Cells(iRow, 3).Characters(Start:=p, Length:=2).Font
.FontStyle = "bold"
.Color = -16776961
End With
End If
End With
Next
обычно я на http://planetaexcel.ru/forum.php
Igor67 вне форума Ответить с цитированием
Старый 31.10.2009, 18:36   #12
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Igor67 Посмотреть сообщение
на каком листе Вы ищите
Да я не ищу, ..
Модуль в посте 1, сам, по 9 листам вносит список товара с 3 -43 ячейки с шагом 54 и мне надо, как только, попадется слово УП, оно, УП, должно быть красным и жирным я все время это делаю в ручную....
valerij вне форума Ответить с цитированием
Старый 31.10.2009, 18:48   #13
Igor67
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 56
По умолчанию

Но не вижу у Вас перебора листов


For Each iSh In ActiveWorkbook.Sheets
что то делаем
Next
============
Sub slistName()
Dim iSh As Worksheet
For Each iSh In ActiveWorkbook.Sheets
MsgBox iSh.Name
Next
End Sub
обычно я на http://planetaexcel.ru/forum.php
Igor67 вне форума Ответить с цитированием
Старый 31.10.2009, 19:13   #14
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Igor67 Посмотреть сообщение
Но не вижу у Вас перебора листов
А ты модуль5 открой в блокноте
Код:
 For iLL= 1 To 9
.....................
For iRow = 3 To 1623 Step 54
                With Sheets(iLL).Cells
                    .Cells(iRow, 3).Resize(41).Value = iPrices
                End With
            Next
        Next
valerij вне форума Ответить с цитированием
Старый 31.10.2009, 19:54   #15
Igor67
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 56
По умолчанию

Держите вариант. Покрасит все УП в книге по столбцу С.
ЗЫ саму окраску взял у IgorGO

Sub TestKrasim()
Dim iSht As Worksheet
Dim iFoundRng As Range, firstAddress As String, findData As String, p As Integer

Dim iRow As Long

findData = "УП"


Application.ScreenUpdating = False

For Each iSht In ThisWorkbook.Sheets
' If iSht.Name <> iShtRplData.Name Then
With iSht
Set iFoundRng = .Columns(3).Find(What:=findData, LookIn:=xlValues, LookAt:=xlPart) 'поиск
If Not iFoundRng Is Nothing Then 'если нашли
iRow = iFoundRng.Row
p = InStr(iFoundRng, findData)

With iFoundRng.Characters(Start:=p, Length:=2).Font
.FontStyle = "bold"
.Color = -16776961
End With

Do 'цикл поиска, т.к. одно и то же значение может встречаться много раз
Set iFoundRng = .Range(.Cells(iRow + 1, 3), .Cells(.Cells(Rows.Count, 3).End(xlUp).Row, 3)).Find(What:=findData, LookIn:=xlValues, LookAt:=xlPart) 'продолжаем поиск на том же листе
iRow = iFoundRng.Row
p = InStr(iFoundRng, findData)

With iFoundRng.Characters(Start:=p, Length:=2).Font
.FontStyle = "bold"
.Color = -16776961
End With
Loop While iRow <> .Cells(Rows.Count, 3).End(xlUp).Row
End If
End With


Next

Application.ScreenUpdating = True
MsgBox "Замена по листам проведена!", 64, "Замена"
End Sub
обычно я на http://planetaexcel.ru/forum.php
Igor67 вне форума Ответить с цитированием
Старый 31.10.2009, 20:05   #16
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Igor67 Посмотреть сообщение
Держите вариант.
Igor67!
Фу, как еще объяснить...
Понимаешь, тот модуль, он рабочий, покрасить УП, отдельно от этого модуля, у меня нет проблем, надо в нем, ненаю понятно изложил?
valerij вне форума Ответить с цитированием
Старый 31.10.2009, 20:09   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

р - я определял позицию "УП" в ячейке, если оно там есть р будет равно позиции, нет - р = 0
"p = .InStr(Cells(iRow, 3), "УП").Resize(41).Value = iPrices
.InStr - вот это что? это общая функция
какой ресайз?

вот так можем написать:
Код:
 
p = InStr(.Cells(iRow, 3), "УП")
With .Cells(iRow, 3).Characters(Start:=p, Length:=2).Font
все, что я хотел подсказать
нашли в ячейке "УП", и сделали два символа с этой позиции жирными и красными.
With Cells(iRow, 3).Characters(Start:=p, Length:=2).Font
.FontStyle = "bold"
.Color = -16776961
End With
спасибо за внимание. успехов.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 31.10.2009, 20:13   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Фу, как еще объяснить...
Понимаешь, тот модуль, он рабочий, покрасить УП, отдельно от этого модуля, у меня нет проблем, надо в нем, ненаю понятно изложил?
из любого модуля можно обратиться к любой ячейке любого листа. вот и обращайся из своего модуля к той, которая нужна, а не к Cells(...) - это обращение к ячейкам активного листа. понятно излагаю?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 31.10.2009, 20:22   #19
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
понятно излагаю?
Игорек, ты модуль из первого поста, открывал?
Наверное нет, ты открой и тебе все станет ясно, что я хочу.
valerij вне форума Ответить с цитированием
Старый 31.10.2009, 20:24   #20
Igor67
Пользователь
 
Регистрация: 09.12.2008
Сообщений: 56
По умолчанию

И у меня код рабочий
Кто Вам мешает его вставить в Ваш
for iLL
с момента после For each
Будете перебирать листы, и после присвоения значений запускайте его.
А еще лучше Оставить его как отдельный макрос и вызывать для обработки листа через Call test
обычно я на http://planetaexcel.ru/forum.php
Igor67 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05
цвет ссылки изменить wolf950 HTML и CSS 3 16.03.2009 18:32
Изменить цвет неактивного Edit Xardas Общие вопросы Delphi 11 20.01.2008 22:38
Как изменить цвет Михаил Юрьевич Общие вопросы Delphi 5 14.01.2008 17:38
Изменить цвет при помощи макроса А. Долматов Microsoft Office Excel 5 26.09.2007 21:02