1

大きなシートをコピーして貼り付ける必要があります。これには多くの時間がかかります。ワークシートで .copy プロセスを使用するのではなく、セルごとに処理するようにアドバイスされました。新しい細胞に古代の細胞の各特性を与える。これが私がここで行うことです:一部のシートのみを別の Workbook に保存します。

セルごとにそれを行うには、情報を含む最後のセルを知る必要があります。(値だけでなく、色、境界線など)。インターネットで多くの簡単な解決策を見てきましたが、それらにはすべて問題があります。

ActiveSheet.UsedRange.Rows.Count の値が多すぎることがよくあります... 5 * 18 テーブルに対して 810 * 16000 の回答を得ました

range("A" & activesheet.rows.count).end(xlup).row は最初の列でのみ機能します...

実際の最後の行を value で仕上げるための最良の方法は何でしょうか? 情報を含む (値、色、境界線...)

4

3 に答える 3

3

Excel 2010 のこのコマンドはActiveCell.SpecialCells(xlLastCell).Select、セルが現在空白であっても、重要な値を持つ最後のセルにカーソル (アクティブ セル) を移動します。

このコマンドRange(Selection, ActiveCell.SpecialCells(xlLastCell)).Selectは、現在のセルから重要な値を持つ最後のセルまでのすべてのセルを選択します。

于 2013-05-05T18:09:20.510 に答える
2

これらのアプローチは両方とも、2007 年の最後のセルを取得するために機能します。Excel 2003 でも「UsedRange」メソッドを使用しました。

それらがうまくいかない場合は、スプレッドシートに Excel に表示されていないものが含まれている可能性があります。これは私に以前に起こったことです。修正するには、実際のデータの下にある空の行をすべて選択し、右クリックして [削除] をクリックします (右側の列と同じ)。

行を削除するショートカット: Shift+Space、Shift+Control+DownArrow、右クリック->Delete

列を削除するショートカット: Control+Space、Shift+Control+RightArrow、右クリック->削除

例:

set lastCell = ActiveCell.SpecialCells(xlLastCell)

また

Set lastCell = worksheetObj.UsedRange.Item(worksheetObj.UsedRange.Cells.Count)
于 2013-05-06T18:36:46.067 に答える