|
こんにちは よろしくお願いいたします
フィルタをかけたシートで表示行列だけ別シートにコピーすると
下記test03の場合
連番列のセル 数式 =SQ_CNT(D9)+OFFSET(E9,-1,0) が、値の#VALUE! となってしまいます
元シートでは、ちゃんと連番が表示されています
上記以外は不具合ありません
test01-02は確認用の途中コードです わかりにくいと思い参考にのせました
Q1 コードの修正で、連番表示(値)でコピーすることはできますか
できなければ
元シートをいったん値コピーしてから実行したいと思います
Q2 SELECTしない記述の方法
上記アドバイスよろしくお願いいたします
Sub make_mit_functional_requirement()
Sheets("moto").Columns("A:E").ClearContents
'フィルタシートの指定範囲を別シートにコピー
Sheets("saki").Select
'test01 Copy → Paste
'通常選択(フィルタ時でも非表示行も選択する)
'##セル数式’=SQ_CNT(D9)+OFFSET(E9,-1,0)時、数式となる
' Sheets("saki").Range(Cells(5, 1), Cells(Sheets("saki").Cells. _
SpecialCells(xlLastCell).Row, 6)).Select
' Selection.Copy
' Sheets("moto").Select
' Sheets("moto").Range("A14").Select
' ActiveSheet.Paste
'test02 Copy → PasteSpecial
'通常選択(フィルタ時でも非表示行も選択する)
'##数式時 #VALUE! となる test01では#VALUE!とは表示されないのはなぜ?
' Sheets("saki").Range(Cells(5, 1), Cells(Sheets("saki").Cells. _
SpecialCells(xlLastCell).Row, 6)).Copy
' Sheets("moto").Select
' Sheets("moto").Range("A14").Select
' Selection.PasteSpecial Paste:=xlValues
'test03 SpecialCells Copy → Past
'表示行のみ選択(フィルタ時)
'数式時 #VALUE! となる =SQ_CNT(D9)+OFFSET(E9,-1,0)
Sheets("saki").Range(Cells(5, 1), Cells(Sheets("saki").Cells. _
SpecialCells(xlLastCell).Row, 6)).SpecialCells(xlCellTypeVisible).Copy
Sheets("moto").Select
Sheets("moto").Range("A14").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
|
|