シートの一部セル領域のみをExcel出力する方法
2024-07-22 10:04
![](https://developer.celf.biz/wp-content/uploads/2024/07/1663558950669db021669c4.png)
![](https://developer.celf.biz/wp-content/uploads/2024/07/1576483329669db02166d82.jpg)
■ 質問の概要
Excel出力のアクションにて、シート上の出力させたい一部のセル領域のみを出力する方法をご教授頂きたいです。
■ 背景
・現在作成中のアプリの各シートにExcel出力の機能を実装しようとしています。
・ただ、標準のExcel出力のアクションだと以下の課題があります。
①「非表示」にしている行や列も出力されてしまう。
(非表示の領域には管理のための情報を格納する設計にしているため、出力させたくない。)
②出力するセル領域を自由に設定することができない。
(ボタンなど、ユーザー操作のために設けている領域は可能であれば出力させたくない。)
・対応策として2枚目の画像のような案を検討し、この方法により上記の課題は解消されるのですが、新たに以下の課題が生じました。
③シートごとに「出力用」のシートを新たに作成する必要があり、開発や管理の面で負担が増える。
④シート①とシート②の行・列の幅などを揃えなければ、レイアウトが崩れる。
■ お尋ねしたいこと
上記①・②の課題が解消され、かつ③・④のような負担が抑えられるExcel出力の方法があればご教授頂きたいです。
回答を投稿するにはログインが必要です。
![](https://developer.celf.biz/wp-content/uploads/2024/07/1299711933669f5c84ecab3.png)
nocs様
ご回答いただきありがとうございます。
ご提示いただいた方法で試みてみました。
単一のセルの退避、および再設定に関してはnocs様の方法で実現できそうです。
より望ましいのは範囲選択等で指定したセル領域を退避、再設定できること(添付画像のアクション)だったのですが、範囲選択に関しては現在のCELFの仕様では対応が難しそうでした。
「本シートから別シートへの範囲セルのコピー」は可能なのですが、以下のQ&Aにも記載があった通り、「別シートの範囲セルを本シートへコピーする」ことはできないようです。
(添付画像の「セル[I1:P100]に[=退避シート!I1:P100]をセットする」や「セル[=退避シート!I1:P100]をコピーして[I1:P100]に貼り付ける」のアクション部分)
・別シートの表示内容のコピーについて(https://developer.celf.biz/questions/13294/)
よって、ボタン等の単一セルの退避の方法を暫定の方針にし、範囲セルへの対応については引き続き検討いたします。
この度はご教授いただきありがとうございました。
ご回答いただきありがとうございます。
ご提示いただいた方法で試みてみました。
単一のセルの退避、および再設定に関してはnocs様の方法で実現できそうです。
より望ましいのは範囲選択等で指定したセル領域を退避、再設定できること(添付画像のアクション)だったのですが、範囲選択に関しては現在のCELFの仕様では対応が難しそうでした。
「本シートから別シートへの範囲セルのコピー」は可能なのですが、以下のQ&Aにも記載があった通り、「別シートの範囲セルを本シートへコピーする」ことはできないようです。
(添付画像の「セル[I1:P100]に[=退避シート!I1:P100]をセットする」や「セル[=退避シート!I1:P100]をコピーして[I1:P100]に貼り付ける」のアクション部分)
・別シートの表示内容のコピーについて(https://developer.celf.biz/questions/13294/)
よって、ボタン等の単一セルの退避の方法を暫定の方針にし、範囲セルへの対応については引き続き検討いたします。
この度はご教授いただきありがとうございました。
nocs 様
ご回答いただきありがとうございます。
重ねてにはなりますが、以下の2点ご確認させていただきたいです。
①
> ボタン等含め出力させたくない項目全てを別シートに退避させ、
上記の「退避」がどういう操作(アクション)を想定されているかお伺いしたいです。
私の方では「ユーザーが操作するシートから、出力させたくないセル領域を切り取り、別シートに貼り付ける」という方法が考えられたのですが、こちらの認識で合っていますでしょうか。
②
> 出力完了後に再度別シートから設定する
1点目と同様に、上記の「別シートから設定」という操作をより詳しくお伺いしたいです。
1点目に記載した方法に沿って考えると「別シートに貼り付けた『出力させたくないセル領域』を切り取り、ユーザー操作シートの元の位置に配置する」という操作になると思うのですが、いかがでしょうか。
細かい質問で恐縮ですが、ご回答いただけますと幸いです。
ご回答いただきありがとうございます。
重ねてにはなりますが、以下の2点ご確認させていただきたいです。
①
> ボタン等含め出力させたくない項目全てを別シートに退避させ、
上記の「退避」がどういう操作(アクション)を想定されているかお伺いしたいです。
私の方では「ユーザーが操作するシートから、出力させたくないセル領域を切り取り、別シートに貼り付ける」という方法が考えられたのですが、こちらの認識で合っていますでしょうか。
②
> 出力完了後に再度別シートから設定する
1点目と同様に、上記の「別シートから設定」という操作をより詳しくお伺いしたいです。
1点目に記載した方法に沿って考えると「別シートに貼り付けた『出力させたくないセル領域』を切り取り、ユーザー操作シートの元の位置に配置する」という操作になると思うのですが、いかがでしょうか。
細かい質問で恐縮ですが、ご回答いただけますと幸いです。
こんにちは
ご検討されている案に近いですが、ボタン等含め出力させたくない項目全てを別シートに退避させ、出力完了後に再度別シートから設定するようにされますと③④の負担が抑えられるかと思われますのでご検討ください。
ご検討されている案に近いですが、ボタン等含め出力させたくない項目全てを別シートに退避させ、出力完了後に再度別シートから設定するようにされますと③④の負担が抑えられるかと思われますのでご検討ください。