Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск совпадений на разных листах / 17 сообщений из 17, страница 1 из 1
27.05.2010, 10:58
    #36652141
Altiz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Помогите пожалуйста, я совсем не разбираюсь в VBA, но на работе от меня требуют написать макрос. Суть макроса такова: нужно чтобы на первом листе он брал номер (на скриншоте столбец К), сопоставлял с номером на втором листе (в столбце Е среди кучи другой информации) и если номера совпадают, то на первом листе напротив соответствующего номера ставил +, а если же не совпадают, то +/-
...
Рейтинг: 0 / 0
27.05.2010, 11:19
    #36652227
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Принцип сопоставления какой? По номеру строки?
...
Рейтинг: 0 / 0
27.05.2010, 11:28
    #36652263
Altiz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Нет, на втором листе нужно искать не в конкретной строке, а во всем столбце, совпадений может быть даже несколько
...
Рейтинг: 0 / 0
27.05.2010, 11:48
    #36652342
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Вот пример перебора всех ячеек в столбце

Код: plaintext
1.
2.
3.
Dim j As Range
For Each j In Columns( 5 )
  j = "rrr"
Next

на втором листе ищите методом Find (можете записать макрос и посмотреть, как это делается)

плюсики/минусики ставьте через
j.Offset
...
Рейтинг: 0 / 0
27.05.2010, 11:50
    #36652347
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Shocker.Pro,
через find будет искать в такой длинной записи?
...
Рейтинг: 0 / 0
27.05.2010, 11:52
    #36652353
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05adm,

А что там такого длинного?
...
Рейтинг: 0 / 0
27.05.2010, 11:59
    #36652386
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Shocker.Pro,
я просто думал find требует чтобы идентичные были
...
Рейтинг: 0 / 0
27.05.2010, 12:09
    #36652429
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05admShocker.Pro,
я просто думал find требует чтобы идентичные были

А ты нажми Ctrl+F и все увидишь. А если хочешь попрактиковаться, можешь даже написать автору скрипт, мы подскажем, если что...
...
Рейтинг: 0 / 0
27.05.2010, 12:22
    #36652471
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim i As Long
With Worksheets("Лист4").Columns( 11 )
    For i =  2  To .Cells(.Rows.Count).End(xlUp).Row
        If Worksheets("Лист5").Columns( 5 ).Find(.Cells(i), LookIn:=xlValues, lookat:=xlPart) Is Nothing Then
            .Cells(i).Offset(, - 1 ) = "+/-"
        Else
            .Cells(i).Offset(, - 1 ) = "+"
        End If
    Next i
End With
...
Рейтинг: 0 / 0
27.05.2010, 12:34
    #36652498
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Shocker.Pro,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Adodc1.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=D:\orders\intelic\Intelic\first.xls;Extended Properties=Excel 8.0;"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * From 'Sheet1'"
Adodc1.Refresh
Adodc2.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=D:\orders\intelic\Intelic\second.xls;Extended Properties=Excel 8.0;"
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "Select * From 'Sheet1'"
Adodc2.Refresh
Do Until Adodc1.Recordset.EOF
namefilt1 = Me.Adodc1.Recordset("K").Value
namefilt2 = Me.Adodc2.Recordset("E").Value
Me.Adodc2.Recordset.Find "KOD =" + namefilt1
If Adodc2.Recordset.EOF Then
    Else
    List1.AddItem (namefilt1name)
    Me.Adodc1.Recordset("ваше где плюс стоит").Value = "ваши знаки"
    nom = nom +  1 
End If
Me.Adodc1.Recordset.MoveNext
Loop
Label1.Caption = "Обработка выполнена ,найдено " + Str(nom)
End Sub
не знаю насколько он рабочий))
...
Рейтинг: 0 / 0
27.05.2010, 12:35
    #36652500
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Код: plaintext
Me.Adodc2.Recordset.Find "E =" + namefilt1
поправьте
...
Рейтинг: 0 / 0
27.05.2010, 13:12
    #36652639
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05adm,

Оригинальное удаление гланд :)
...
Рейтинг: 0 / 0
27.05.2010, 13:18
    #36652660
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05admне знаю насколько он рабочий))

А что, не проверял? Сделай тестовый файл, да проверь....

Код: plaintext
Me.Adodc2.Recordset.Find...
Нужно указать, чтобы искал каждый раз сначала...

Код: plaintext
namefilt2 = Me.Adodc2.Recordset("E").Value
нигде далее не используется

vlth дал, конечно, самый оптимальный вариант, однако, с точки зрения практики твой вполне заслуживает внимания :)
...
Рейтинг: 0 / 0
27.05.2010, 13:58
    #36652832
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Shocker.Proaduka05admне знаю насколько он рабочий))

А что, не проверял? Сделай тестовый файл, да проверь....

Код: plaintext
Me.Adodc2.Recordset.Find...
Нужно указать, чтобы искал каждый раз сначала...

Код: plaintext
namefilt2 = Me.Adodc2.Recordset("E").Value
нигде далее не используется

vlth дал, конечно, самый оптимальный вариант, однако, с точки зрения практики твой вполне заслуживает внимания :)
работать то будет единственно там с названиями полей надо посмотреть как будет
если бы автор темы файл скинул бы , можно было бы и VBA потренироваться,
понятия не имею как в VBA делать , можете прокомментировать как эту конструкции в VBA
написать , примерно так хотя бы
...
Рейтинг: 0 / 0
27.05.2010, 14:01
    #36652844
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05admможете прокомментировать как эту конструкции в VBA
написать , примерно так хотя бы

Эм. vlth дал, см. под спойлером.
...
Рейтинг: 0 / 0
27.05.2010, 14:06
    #36652868
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
Shocker.Proaduka05adm,

Оригинальное удаление гланд :)
о чем это вы?
...
Рейтинг: 0 / 0
27.05.2010, 14:09
    #36652885
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск совпадений на разных листах
aduka05admShocker.Proaduka05adm,

Оригинальное удаление гланд :)
о чем это вы?
Он о том, что удаление гланд через попень
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск совпадений на разных листах / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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