Как вы вставляете из одного листа в другой со смещением? - PullRequest
0 голосов
/ 25 апреля 2019

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

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

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

Я пробовал:

PNView.Columns(1,1).Offset(1,0).PasteSpecial
PNView.Cells(1,1).Offset(1,0).PasteSpecial
PNView.Range("A2").PasteSpecial

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

Это моя последняя итерация:

CMT.Range("$G5:$G3500").Copy
ws.Range("A1").PasteSpecial
Range("A:A").Select
ActiveSheet.Range("$A$1:$AM" & Cells(Rows.Count, 
"a").End(xlUp).Row).RemoveDuplicates Columns:=1, Header:= _
    xlYes

PNView.Range("A2").Resize(ws.Range("A:A").Rows.Count, 
ws.Range("A:A").Columns.Count).Value = ws.Range("A:A")

Мне нужно в конечном итоге иметь возможность передавать данные в ws.Range ("A: A") в PNView.Range, начиная с A2.

Разрешение:

Итак, мы взяли ярлык и записали макрос, чтобы сделать именно то, что нам нужно, и вот результат, который Excel дал, который работает:

CMT.Select
Columns("G:G").Select
Selection.Copy
ws.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False
Rows("1:3").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Columns("A:A").Select
ActiveSheet.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("A:A").Select
Selection.Copy
PNView.Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False

1 Ответ

0 голосов
/ 25 апреля 2019

Разрешение:

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

CMT.Select
Columns("G:G").Select
Selection.Copy
ws.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False
Rows("1:3").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Columns("A:A").Select
ActiveSheet.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlNo
Columns("A:A").Select
Selection.Copy
PNView.Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks 
_
    :=False, Transpose:=False
...