Вставка с некоторой строчки

Программирование на Visual Basic for Applications
CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Вставка с некоторой строчки

Сообщение CH » 17.10.2005 (Пн) 13:48

привет,может кто подскажет
мне нада сотворитьчто то вроде этого(покрайней мере смысл тотже)

For i = 1 To 100
s = Range("A" & i)
d = Range("B" & i)
If s = 1 And d = 2 Then
x = x + 1
Rows(i).Select
Selection.Cut
Windows("книга20").Activate
Rows(i).Select
Selection.Insert shift:=xlDown
Windows("книга1").Activate
'Selection.Delete shift:=xlUp
End If
Next

End Sub

тока вот как бы сделать так чтоб они вставлялись в книгу 20 начиная с 3 строки
Подскажите :?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 15:00

Словами требуемое действие, плз...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 15:06

сдесь происходит вставка вырезаных строк в другой документ,
с какой он вырезал в такую и вставил(по номеру строки)
а нада чтоб вставлялось с 3,вот)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 15:23

Не "здесь происходит", а "что нужно", плз...
Нужно взять строки обладающие такими-то признаками, и воткнуть их туда-то...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 15:41

да, тока у меня получается их перетаскивать построчно
тобиш взял 1 строку и поместил в 1-ю тока в другой документ,
а нада взять с 1 строки и поместить в 3-ю другого документа

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 15:44

Ы.

Чел, сформулируй то, что тебе нужно сделать.
Не то, как ты пытался это делать, а то, что.
Какие строки брать. По каким признакам отличить их от других строк. Куда их поместить.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 15:50

например,как в коде написано, я выбираю строки где в колонке А присутствует циферка 1 и в колонке В присутствует другая циферка - 2, потом строка где они находятся вырезается и вставляется в другой документ. из 1 строки в 1 строку тока другого документа, а какбы сделать так чтоб он начинал их вставлять в другой документ начиная с третей строчки.все вроде легко, а как это сделать я непонимаю :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 16:13

Код: Выделить всё
dim i as long, w1 as worksheet, w2 as worksheet, t as long

set w1=workbooks("книга1").worksheets(1)
set w2=workbooks("книга20").worksheets(1)

t=3
for i=1 to 100
  if w1.cells(i,1).value=1 and w1.cells(i,2).value=2 then
    w1.rows(i).entirerow.cut w2.rows(t)
    t=t+1
    i=i-1
  end if
next
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 17:51

GSerg
если не трудно можешь описать код
просто я не пойму что тут к чему, плз :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 17:54

Для начала, работает ли так, как ожидалось...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 19:18

да, работает, СПАСИБО
тока она отступает 2 строчки,Э но это уже не вопрос как исправить :wink:
так как расшифровывается то?
мне очень интересно

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.10.2005 (Пн) 19:30

Мне будет сложно расшифровать, потому что расшифровкой будет буквальный перевод названий использованных методов с английского на русский...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 17.10.2005 (Пн) 19:38

лана попробую сам разобраться, всеравно большое спастбо!
а можно как нить такойже эфект получить использую мой код, который расположен на верху?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.10.2005 (Вт) 0:36

Можно, если ввести дополнительную переменную и использовать её как счётчик строки назначения...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 18.10.2005 (Вт) 7:12

GSerg

Кстати :!: а какой смысл в строчке:
Код: Выделить всё
                                                       i=i-1

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.10.2005 (Вт) 11:26

Когда строку удаляешь, остальные смещаются вверх. Поэтому если не уменьшить счётчик, ты через одну перескочишь...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

CH
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 10.10.2005 (Пн) 11:27

Сообщение CH » 19.10.2005 (Ср) 15:32

добрый день!
а каким образом можно сдесь
Код: Выделить всё
dim i as long, w1 as worksheet, w2 as worksheet, t as long

set w1=workbooks("книга1").worksheets(1)
set w2=workbooks("книга20").worksheets(1)

t=3
for i=1 to 100
  if w1.cells(i,1).value=1 and w1.cells(i,2).value=2 then
    w1.rows(i).entirerow.cut w2.rows(t)
    t=t+1
    i=i-1
  end if
next

сделать так чтоб происходила вставка в другую книку с опусканием нижних строчек, которые имеются в документе

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.10.2005 (Ср) 15:49

Код: Выделить всё
dim i as long, w1 as worksheet, w2 as worksheet

set w1=workbooks("книга1").worksheets(1)
set w2=workbooks("книга20").worksheets(1)

for i=1 to 100
  if w1.cells(i,1).value=1 and w1.cells(i,2).value=2 then
    w2.rows(3).insert xlShiftDown
    w1.rows(i).entirerow.cut w2.rows(3)
    i=i-1
  end if
next
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Boombeat
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 15.01.2005 (Сб) 12:32

Сообщение Boombeat » 05.02.2006 (Вс) 16:49

А как сделать, чтобы при соблюденни условия
w1.cells(i,1).value=w2.cells(i,1).value
строчка w1.cells(i,1).value вырезалась и вставлялась перед строкой w2.cells(i,1).value.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 81

    TopList