Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск ячейки с заданным значением в таблице EXEL / 8 сообщений из 8, страница 1 из 1
22.02.2013, 15:35
    #38162433
lyl4l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
Задача:
в таблице в каждой строке необходимо найти ячейку с определенным текстом (выделена зеленым цветом) и данные из ячейки, которая находиться правее через одну (выделена желтым) перенести в другую таблицу (имееться ввиду сформировать новую таблицу в виде столбика с этим значением)

И так необходимо обработать все строки.
Количество строк каждый раз может быть разным

Рисунок прилагается
...
Рейтинг: 0 / 0
22.02.2013, 16:01
    #38162474
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
Во-первых рисунок не прилагается
Во-вторых, зачем прилагать рисунок, если речь идет о файле эксель - прилагайте файл эксель
В-третьих, это можно сделать автофильтром
...
Рейтинг: 0 / 0
22.02.2013, 16:14
    #38162494
lyl4l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
мне необходимо чтобы данные сортировал макрос автоматически
...
Рейтинг: 0 / 0
22.02.2013, 16:48
    #38162546
lyl4l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Private Sub Prepare_table_data_Click()


     Dim x As Integer, y As Integer, VAL As Integer
 VAL = 0
     ' numrows: = skolko strok
     NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
     ' NumCells: = skolko kolonok
     NumCells = Range("A1", Range("A1").End(xlToRight)).Columns.Count
     ' select a1.
     
     Range("R" & NumRows).Value = "table has" & NumRows & "rows"
     Range("Q" & NumCells).Value = "table has" & NumCells & "kolonok"
     
     
     Range("A1").Select
     ' cukl «For» s povtorom do «numrows».
     
     For y = 0 To NumRows
       For x = 0 To NumCells
 
Алгоритм сравнения ячейки, есть ли в ней текст "text" если есть, тогда содержимое ячейки 
через одну правее скопировать например в колонку "Т" в ту же строку



       Next
     Next

Подскажите кто знает кусок этого алгоритма сравнения?


End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
22.02.2013, 16:51
    #38162557
lyl4l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
тот же кусок но в екселе
...
Рейтинг: 0 / 0
22.02.2013, 23:15
    #38162947
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
То есть вот надо именно макросом? И просто использовать ВПР() или ПОИСКПОЗ() тут не катит?
...
Рейтинг: 0 / 0
24.02.2013, 14:54
    #38163712
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
Код: vbnet
1.
2.
3.
4.
  For y = 1 To NumRows
       For x = 1 To NumCells
'       если в ячейке в тексте встречается в данном случае "100"
       If InStr(Cells(y, x), "100") > 0 Then Cells(y, 16) = Cells(y, x + 2)


Только если таблица большая лучше использовать Find или грузить в массив
...
Рейтинг: 0 / 0
28.02.2013, 12:05
    #38169315
lyl4l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск ячейки с заданным значением в таблице EXEL
спасибо )

Я еще нашел такое решение, насчет быстродействия - не знаю, но работает

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
For y = 1 To NumRows
       For x = 1 To NumCells
      
    
        If Cells(y, x).Value = "Text_poiska" Then  'поиск ячейки с значением Text_poiska текст любой, у меня искало L-cd/m²
            Cells(y, x).Interior.ColorIndex = 6       'покрасим найденные ячейки в yellow color
                       
            Cells(y, 23).Value = Cells(y, x).Value      'найденную ячейку скопируем в столбик 23 - это W столбик 
            Cells(y + 1, 23).Value = "zagolovok"            'внизу столбика - заголовок  zagolovok
            Cells(y, 24).Value = Cells(y, x + 2).Value    'ячейка, которая находится на две позиции правее искомого текста копируется в столбик 24
            Cells(y + 1, 24).Value = "Mittel"             'заголовок столбика

        End If
         Next
Next
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск ячейки с заданным значением в таблице EXEL / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]