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

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

Рисунок прилагается
...
Рейтинг: 0 / 0
Поиск ячейки с заданным значением в таблице EXEL
    #38162474
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых рисунок не прилагается
Во-вторых, зачем прилагать рисунок, если речь идет о файле эксель - прилагайте файл эксель
В-третьих, это можно сделать автофильтром
...
Рейтинг: 0 / 0
Поиск ячейки с заданным значением в таблице EXEL
    #38162494
lyl4l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне необходимо чтобы данные сортировал макрос автоматически
...
Рейтинг: 0 / 0
Поиск ячейки с заданным значением в таблице EXEL
    #38162546
lyl4l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
Поиск ячейки с заданным значением в таблице EXEL
    #38162557
lyl4l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тот же кусок но в екселе
...
Рейтинг: 0 / 0
Поиск ячейки с заданным значением в таблице EXEL
    #38162947
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть вот надо именно макросом? И просто использовать ВПР() или ПОИСКПОЗ() тут не катит?
...
Рейтинг: 0 / 0
Поиск ячейки с заданным значением в таблице EXEL
    #38163712
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Поиск ячейки с заданным значением в таблице EXEL
    #38169315
lyl4l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо )

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

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


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