• ベストアンサー

ペースト入力で時計算式の入っているセルを保護したい

nayuta_lotの回答

回答No.4

こんにちは ちょっと変わったところで次のようなやり方はどうでしょう。 1.数式の入ったシート(本表)を作成する。 2.本表と同一形式の入力用のべた貼りシートを作成する。 3.統合を利用して本表に転記する。 統合を使用すると計算式はそのまま残ります。 保護はいりません。 本来統合は、複数の範囲を合計したり、平均をとったりするものですが、 統合元を一つにして、合計をとれば、転記として活用できます。 また、マクロの記録で作業を記録して、ボタンに貼り付けておけば、 ボタンを押すだけで済みます。 例 下記のようなデータの構成になっていたとします。 <テキストデータ> 10 タブ 20 タブ タブ 30 10 タブ 30 タブ タブ 40 10 タブ 40 タブ タブ 50 10 タブ 50 タブ タブ 60 10 タブ 60 タブ タブ 70 全て選択してデータシートに貼り付けます。    ↓↓↓ <データシート>    A  B  C  D 1 10 20 空 30 2 10 30 空 40 3 10 40 空 50 4 10 50 空 60 5 10 60 空 70 本表のシートに統合します。 1.本表のA1からD5を範囲選択します。 2.メニュー → データ → 統合を選択します。 3.統合ウィンドウが開きますので、集計の方法が合計になっている  ことを確認します。 なっていなければ合計にします。 4.統合元範囲にデータシートのA1からD5を選択します。 → データ!$A$1:$D$5  この時、データの選択範囲は統合元と同じ範囲を選択します。 5.統合の基準(上端、左端) 統合元データとリンクする のチェックをはずします。  統合の基準は、統合元フォーマットと統合先フォーマットが同一なら上端、左端の  基準がなくても(チェックをはずしても)大丈夫です。 6.OKを押します。 数式以外の個所に統合元範囲のデータが合計されます。 統合元範囲はひとつですので事実上、転記と変わりません。    ↓↓↓ <本表シート>    A  B  C  D 1 10 20 式 30 2 10 30 式 40 3 10 40 式 50 4 10 50 式 60 5 10 60 式 70 上記の作業を、本表シートを選択するところからマクロで記録すると Sub Macro1() Sheets("本表").Select Range("A1:D5").Select Selection.Consolidate Sources:="'E:\データ\[sample.xlsm]データ'!R1C1:R5C4", _ Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False End Sub のようになります。 このマクロをデータシートにボタンを作ってマクロを登録すれば テキストデータをデータシートにコピー ボタンをクリック の手順で本表に転記できます。 VBAをどの程度ご存じかわかりませんが、一応解説しておきます。 Sheets("本表").Select ・・・ 本表のシートを選択 Range("A1:D5").Select ・・・ A1からD5を選択(統合先の範囲) Selection.Consolidate ・・・ 統合の意味 Sources:="'E:\データ\[sample.xlsm]データ'!R1C1:R5C4",  ・・・ 統合元のセル範囲を ファイルのパスから指定、R1C1:R5C4はA1:D5と同じ意味   以下略・・ 実際に作成した表を元に統合を記録すれば、細かい記述はしなくてよいので、 なんとなく、この辺で指定しているのがわかればよいと思います。 統合の本来の使用方法については下記あたりを参照してください。        ↓↓↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/tougou.html なにかあれば補足してください。 それでは

chinchilla
質問者

お礼

統合のことは知識がなかったです。 良い提案を誠にありがとうございます。 補足なども促していただき本当にありがとうございます。ペコ レイアウトの変更が頻繁な場合、表自体の信頼性を保つためのテストなども考えるとかなり辛いのはVBAと替わりがない気がしますが・・・ VBAよりはシンプルだなとは思いました。 本来セルをスキップさせる機能があれば良いだけなのにここまで複雑化してしまうのは悲しいことですね。 また回答者様の提案を読んで統合を学びたいなと思いました。 お時間のかかる詳細な回答を誠にありがとうございました。ペコ

関連するQ&A

  • セルの保護について

    エクセル2003でデータ表を作りました。 10項目程度の表ですが、半分の項目(列)には計算式が入力されています。 この計算式を保護したいのですが、セルの保護を行うと、行ごとにデータをコピーして挿入したり削除したりする作業ができなくなるので困っています。 なにかいい方法で計算式を保護できないでしょうか? 宜しくお願いいたします。

  • wordの表にテキストをペーストする方法

    タブ区切りのテキストをexcelにペーストするとその区切りごとにセルに格納されるのと同じことをwordの表でやろうとしてもうまくできずに困っています. いったんexcelにペーストしてそれをwordの表にペーストすれば一応できるのですがexcelを介さずにやる方法を教えてください.

  • エクセルで空白セル以外を保護したい

    エクセル2000を使用しています。 ある表を作成して、セルの種類としては 文字が入力済、数値が入力済、空白、空白だが計算式が入力済、 の四種類があります。 数人が共有して入力するもので、空白のセル以外は一切書き込みが 出来ないよう保護したいのですが可能でしょうか? 文字入、数値入、空白(式入り)・・・保護(ロック) 空白・・・入力可能 上記のようにしたいのです。

  • エクセル 日本語入力及び貼り付け規制

    エクセルのセルに入力規制をかけて日本語入力は無効にしてあるので、セルに直接入力をすることはできないのですが、日本語が入力をされているセルをコピー&ペーストすると張り付いてしまいます。 この日本語の貼り付けも規制することはできないでしょうか? VBAでも関数でも構いません。 よろしくお願いいたします。

  • エクセルでセルの保護方法はありますか?

    エクセルで計算式等を入れているセルのみを保護する方法は ありますか?(個人で使用している場合は、問題ないが、共有していると、計算式のセルへ入力してたりして、式が消えてしまう為、各セルごとに保護する方法がありませんか?)

  • エクセルのセル計算式の保護のしかた

    エクセルで計算式が入っているセルに過って入力して式を消さないように保護する仕方を教えて下さい。(計算式が入っていないセルもあり)

  • 変えられたくないセルを保護するには?

    Excelで見出し行や関数を入れたセルなどに間違って入力されると困ります。 この様な行やセルを保護するにはどうすれば良いでしょうか? Excel2003

  • Excell VBA 指定セルにコピー&ペースト

    VBAについて質問です。 Excellで家計簿のようなものを作成してつくっているのですが、 A1~A31までのセルに日付の1日~31日を記入し、 B1~B31までのセルに各日の支出金額の合計を記入するような表を作成しています。 ただ、一日の支出が多い場合(金額的に多いというわけではなく、レシートの枚数が多く合算しなければ一日の支出合計が出ない状態のこと)は別セルで合計を計算し、その結果を記入するようにしています。 ただ、その結果を毎回コピペするのがとても面倒なので、 コマンドボタンを計算結果の横に設置し、 そのコマンドボタンをクリックしたら、どこのセルにペーストするかをメッセージボックスで問われ(C言語でいうScanf的なもの)、記入してOKをクリックするとその指定したセルに計算結果が自動的にペーストされるようにしたいと考えています。 ただ、そのコマンドがわからなくて足止め状態です。 どなたか教えてください!! 内容としましては、 セルE1に計算結果が表示されてるとして、 そのE1の内容を上記のようなコマンドボタンを使用して指定したセルにペーストするようなマクロをくみたいです。 上記の「どこのセルにペーストするかをメッセージボックスで問われ」という部分については、セル番を入力することで指定できるだけでもよいのですが、欲を言えばA1~A31に記入されている日付を入力することでペースト先のセルを指定できればベストだなと考えています。 こんなこと可能でしょうか?? 説明がわかりにくいとは思いますが、どなたかお願いします

  • Excel2010 セルの保護に関して・・・

    お世話になります。 Excel2010にて入力表を作成しシート内の入力に関係ない場所=セルを指定して セル枠保護をしたのですが複数のシートに同じ内容で一部のみ変更して 複製を作成していますがシートを変更すると先程作成したセルの保護が他の シートでは保護できませんが同じようなシートを沢山作る場合、セル保護はどの様に すればいいのでしょうか??? 説明が上手くないのですが伝わりますでしょうか・・・ 何か良い方法などありましたらお願い致します。

  • エクセルのシート保護で、セルの書式(計算式)だけを保護(ロック)する方法はありませんか?

    オフイス2003のエクセルを使用しております、仲間で表を使うので計算式が入ったセルを誤ってデリートキーをたたいても書式だけは消えないようにしておきたい。書式のシート保護をするように習いましたが、セルだけを保護(ロック)する方法はないでしょうか?