Dim rng As Range
i = 1
Do While Workbooks("Книга1.xls").Worksheets(1).Cells(i, 1) <> ""
Set rng = Workbooks("Книга2.xls").Worksheets(1).Range("A:A").Find( _
What:=Workbooks("Книга1.xls").Worksheets(1).Cells(i, 1), _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=True)
If Not rng Is Nothing Then _
Workbooks("Книга1.xls").Worksheets(1).Cells(i, 2) = rng.Offset(0, 1)
Set rng = Nothing
i = i + 1
Loop
как сравнить и скопировать ячейки в excel из разных книг?
Необходимо сравнить ячейки столбца (допустим столбец 1) в excel из одной книги (книга 1) с другой (книга 2) и при совпадении значений скопировать из книги 2 в книгу 1 рядом стоящую ячейку в строке. Заранее спасибо!
Если книги открыты, то можно например так:
Код:
Workbooks.Open "C:\Documents and Settings\AllUser\Рабочий стол\Книга1.xls"
попробовал код в том виде как написано, что-то не получается, может я что то неправильно делаю? можно сделать коментарий к каждой строчке или к тем которые надо изменять под себя, может тогда веселее дело пойдет?!
Как хоть ругается!!!Ты имена своих книг вставлял?посмотри...
спасибо, все заработало! Но почему то ячейки содержащие html код не копируются, или копируются по частям (часть ячейки), с чем эти это может быть связано?
ячейка может иметь такой вид:
-------
<table border=0"> <tbody> <tr> <td>Заголовок</td> <td>описание</td> </tr> <tr> <td valign="middle" colspan="2" height="5"><img height="1" src="http://www.***.ru/pics/common/tree_line.gif" width="100%" alt="" /></td> </tr> <tr> <td>текст</td> <td>txt
------
Код:
Windows("Книга1.xls").Activate
Workbooks("Книга1.xls").Worksheets("Лист1").Range("А1").Copy 'Копирует ячейку Книги1
Workbooks("Книга2.xls").Sheets(1).Cells(1,1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Специальная вставка в ячейку Книги2
Application.CutCopyMode = False
Workbooks("Книга1.xls").Worksheets("Лист1").Range("А1").Copy 'Копирует ячейку Книги1
Workbooks("Книга2.xls").Sheets(1).Cells(1,1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Специальная вставка в ячейку Книги2
Application.CutCopyMode = False
ячейка может иметь такой вид:
-------
<table border=0"> <tbody> <tr> <td>Заголовок</td> <td>описание</td> </tr> <tr> <td valign="middle" colspan="2" height="5"><img height="1" src="http://www.***.ru/pics/common/tree_line.gif" width="100%" alt="" /></td> </tr> <tr> <td>текст</td> <td>txt
------[/QUOTE]
замени
Код:
Workbooks("Книга1.xls").Worksheets(1).Cells(i, 2) = rng.Offset(0, 1)
на
Код:
Workbooks("Книга1.xls").Worksheets(1).Cells(i, 2).Value = rng.Offset(0, 1).Value
скорей всего в первом варианте больше 255 символов обрезалось
vkodor А где в твоем коде идет копирование???
Код:
Workbooks("Книга1.xls").Worksheets(1).Cells(i, 2) = rng.Offset(0, 1)
на
Код:
Workbooks("Книга1.xls").Worksheets(1).Cells(i, 2).Value = rng.Offset(0, 1).Value
скорей всего в первом варианте больше 255 символов обрезалось[/QUOTE]
все равно та же ошибка: application-defined or object-defined error
после установки Excel 2003 все заработало
Workbooks("ipo.xls").Worksheets(1).Cells(i, 2) = rng.Offset(0, 2)
Какие варианты?