0

こんにちは、誰か助けてください。2 つのスプレッドシートがあります。2 番目のスプレッドシートには、最初のスプレッドシートとまったく同じセルがコピーされています。しかし、私の問題は、請求書が毎日ではなく日付順に配置されているため、最初のスプレッドシートに空白の行があることです。付加価値税の目的で使用する 2 番目のシートで、ブックキーパー用に 1 ページのみを印刷するために、選択内容をリスト形式にする必要があります。たとえば、請求書がある場所。最初のスプレッドシートの 10 日、15 日、20 日に「3 つの請求書を 2 番目のスプレッドシートに表示するには、どのような数式を使用できますか。たとえば、1 行目、2 行目、3 行目で、1 行がもう 1 行のすぐ下に表示されます。

私は20年前にVBAをやったことがありますが、これを除いてすべてがうまくいきました。これを手伝ってくれる人に前もって感謝します。

4

1 に答える 1

0

強調表示して F5 キーを押し、[特殊] をクリックします。ハードコードされたデータか数式データかによって、[定数] または [数式] を選択し、[OK] をクリックします。これにより、すべての空白セルが選択範囲から除外され、通常どおり他のワークブックにコピー ペーストされます。vbaでそれを行う場合、これはすべてオブジェクトモデルで次のように利用できます

Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select

更新: 長方形以外の選択範囲をコピーしようとするとエラーになる Excel のバグ (設計上の欠陥?) を忘れていました。ここを参照してください(記事は古いですが、2013年に適用されるようです):

http://support.microsoft.com/kb/100715

この問題に対処するためのマクロがインターネット上にあると思います。そのうちの 1 つがここにあります。

http://www.extendoffice.com/documents/excel/799-excel-copy-multiple-selections.html

簡単な解決策は、逆のアプローチを取ることです。「特別な」選択を使用して空白を選択してから、それらを削除します。次に、残りのセルを囲む四角形を選択します。

空白を選択するためのVBA呼び出しは

Selection.SpecialCells(xlCellTypeBlanks, 23).Select
于 2013-08-11T15:37:34.650 に答える