Скопируйте и вставьте и сохраните скрытым после вставки

#excel #vba

#excel #vba

Вопрос:

Пожалуйста, помогите мне с этим кодом. Все, что я хочу, это скопировать данные и вставить их в ячейку и сохранить их скрытыми. Но после использования моего кода и вставки он все еще виден. Как я могу создать код vba, который после вставки скроет ячейку? Пожалуйста, помогите мне. Спасибо.

 Sub selectVisibleRange()
   Dim DbExtract, DuplicateRecords As Worksheet
   Set DbExtract = ThisWorkbook.Sheets("Sheet2")
   Set DuplicateRecords = ThisWorkbook.Sheets("Sheet1")

   DbExtract.Range("X:X").SpecialCells(xlCellTypeVisible).Copy
   DuplicateRecords.Cells(1, 3).PasteSpecial Paste:=8
End Sub
  

Комментарии:

1. Вы не копируете скрытые ячейки. Вы копируете видимые ячейки.

2. Если вы скроете все видимые ячейки в столбце X, на листе ничего не останется,

3. Теперь я знаю ответ на свой вопрос. Частная вспомогательная команда button1_Click() Затемняет DbExtract, дублирует записи в виде набора таблиц DbExtract = ThisWorkbook. Листы («Sheet2») Установите DuplicateRecords = ThisWorkbook. Sheets («Лист1») DbExtract. Диапазон («E: E»). Специальные ячейки (xlCellTypeVisible). Скопируйте дублирующиеся записи. Ячейки (1, 1).Вставьте специальные повторяющиеся записи. Ячейки (1, 1).Целая колонка. Скрытый = True End Sub

4. Почему вы вставляете ширину столбца, а затем скрываете столбец? вставить:= 8 — это вставить:=xlPasteColumnWidths.

Ответ №1:

Теперь я знаю ответ на свой вопрос..

 Private Sub CommandButton1_Click()

Dim DbExtract, DuplicateRecords As Worksheet
Set DbExtract = ThisWorkbook.Sheets("Sheet2")
Set DuplicateRecords = ThisWorkbook.Sheets("Sheet1")

DbExtract.Range("E:E").SpecialCells(xlCellTypeVisible).Copy
DuplicateRecords.Cells(1, 1).PasteSpecial
DuplicateRecords.Cells(1, 1).EntireColumn.Hidden = True


End Sub