Как сделать ссылку на цикл в следующей ячейке? - PullRequest
0 голосов
/ 08 марта 2019

Код ниже скопирует и вставит текст с одного листа на другой так, как я хочу.Тем не менее, я не знаю, как написать цикл, чтобы он работал для остальных данных.Новичок здесь, так что, наверное, все просто.Нужно просто проверить следующую строку на листе WS1 и ввести на листе WS2, если код применяется.

Я закомментировал цикл, который я написал, который не работал.Я попытался startitem = startitem + 1 и startitem = startitem.offset (1) и не смог заставить ни работать.

Sub transferdata()

Application.ScreenUpdating = False

Dim ws1     As Worksheet
Dim ws2     As Worksheet
Dim startrow As Range

Dim startpremium As Range
Dim startitem As Range
Dim itemcount As Range


Set ws1 = Sheets("Input")
Set ws2 = Sheets("PakEmail")
Set startrow = ws2.Range("B18")
Set startpremium = ws2.Range("E18")
Set startitem = ws1.Range("D11")
Set itemcount = ws1.Range("D44")
Set copyname = ws1.Range("B11")
Set copypremium = ws1.Range("D11")

'Let X = 0

'Do While X <= itemcount

If startitem <> 0 Then
 copyname.SpecialCells(xlCellTypeVisible).Copy
 startrow.PasteSpecial xlPasteValues
 copypremium.SpecialCells(xlCellTypeVisible).Copy
 startpremium.PasteSpecial xlPasteValuesAndNumberFormats

End If

'X = X + 1

'Loop





Application.ScreenUpdating = True


End Sub

1 Ответ

2 голосов
/ 08 марта 2019

Пара вещей, о которых нужно помнить ... при выполнении этого вы должны помнить о трех вещах:

  • 1) вы можете использовать для или для каждого цикла в исходных данных дляпереходить от строки к строке (в моем примере кода итерированная переменная i )
  • 2) вы хотите узнать последнюю строку на листе назначения (lrs = источник последней строки, lrd =пункт назначения в последней строке)
  • 3) отслеживать все квалификации при перемещении между листами источника / назначения (обратите внимание, где используются src и dst)

Общий код для работычтобы иметь в виду вышесказанное:

dim src as worksheet, dst as worksheet, i as long, lrs as long, lrd as long
set src = Sheets("SourcE")
set dst = sheets("Destination")
with src
    lrs = .cells(.rows.count,1).end(xlup).row
    for i = 1 to lrs
        if .cells(i,1).value = "what i want it to be" then
            lrd = dst.cells(dst.rows.count,1).end(xlup).row
            dst.rows(lrd+1).value = .rows(i).value
        end if
    next i
end with
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...