1

範囲を選択してコピーすると、一部のドキュメントにのみ非表示の列が含まれる可能性がありますか?

これは大部分のコードです:

Set rngAcData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
rngAcData.Select
Selection.Copy
Sheets(".....").Select
Range("H2").Select
ActiveSheet.Paste

これは、同様にフォーマットされたドキュメントの約 98% で機能することに注意してください。しかし、同じ文書で。非表示の列が常に含まれます。手動で実行しようとしましたが、同じ結果が得られました。次の高度なフィルター コマンドで.SpecialCells(xlCellTypeVisible)エラーを引き起こす範囲オブジェクトに追加しようとしました。run time error: 1004 database or table range is not valid.

4

2 に答える 2

1

以下のコードを試してください:

Sub test()
    Set rngAcData = .Range(.Cells(1, 1), .Cells(bottomMostRow, rightMostColumn))
    'Set rngAcData = .Range("A1").CurrentRegion  'can use this alternatively
    rngAcData.Copy Sheets(".....").Range("H2")  ' avoid using select in vba
   ' Selection.Copy  ' not needed
    'Sheets(".....").Select  ' not needed
   ' Range("H2").Select  ' not needed
   ' ActiveSheet.Paste  ' not needed
End Sub
于 2013-03-10T06:22:52.400 に答える
0

非表示のセルを除外しながら、Range をコピーして貼り付けることだけを行おうとしている場合は、非常に近いです。これを試して:

Public Sub CopyVisibleCells()
    Dim rngAcData As Range
    Set rngAcData = Range(Cells(1, 1), Cells(5, 5))
    rngAcData.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range("H2")
End Sub

RangeA1E5考慮して、表示されているセルをコピーし、H2ofに貼り付けSheet2ます。特定のニーズに合わせて変更できます。

ここに画像の説明を入力

ここに画像の説明を入力

于 2013-03-12T13:23:11.263 に答える