• ベストアンサー

エクセル2000で、数式が変わるのを防ぎたい。

1 セルのA1:Z1には=A11 =B11 ・・・=Z11という式が入っています。 2 セルのA2:Z10には表の名前とか、項目名、数式が書いてあります。 3 一回目のデータの入力は、11行目A11:Z11でおこないます。 4 二回目以降のデータ入力は、11行目に、行の挿入を三回おこなってからやります。 またデータの入力は11行目でおこないます。 しかし、このとき、セルA1:Z1の=A11 =B11 ・・・=Z11という式は、=A14 =B14 ・・・=Z14に変わっていて、1行目に入力できません。 5 行の挿入はマクロでやっていますので、ここで=A14に変わった式を=A11に戻せないかどうか聞きたかったのです。 6 ここで作りたい表は、ここのサイトと同じように、新しいデータが上のほうに、古いデータが下にくるようにしたいのです。前にやったのは、データの入力の最後に必ず入力する項目があったので、そこで、マクロで11行をコピー、1行に貼り付けをやっていました。しかし、今回は、最後に必ず入力する項目もなく、また入力しないセルもあります。 7 他に、同じことができるアイデアがあったら、教えてください。 マクロの実行ボタンはすでに二個あるので増やしたくありません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1の方と同じですが、 =INDIRECT(CHAR(64+COLUMN())&"11") 「=A1」の変わりに、「=INDIRECT("A11")」 と入力すれば、挿入されても、「=INDIRECT("A11")」は変わりません。 ただ、A1~Z1まで1つずつ入力しないといけないので、 #1さんの方法にすれば、すべての列にコピーすることができます。 11は"11"としないと表示されないかもしれません。

ki-aaa
質問者

お礼

完璧です。 私が望んでいたものそのものです。 ありがとうございました。

その他の回答 (2)

回答No.3

マクロは詳しくないのですが、 エクセルでコピー時に値を変更したくないときには、 変えたくない部分に$をつけますが、どうでしょうか

ki-aaa
質問者

お礼

ありがとうございます。 その方法は試しましたがだめでした。 違う回答をお待ちしています。

  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんにちは >1 セルのA1:Z1には=A11 =B11 ・・・=Z11という式が >入っています。 この部分を必ず各列の11行目を参照する式すれば如何でしょうか A1~Z1に =INDIRECT(CHAR(64+COLUMN())&11)

ki-aaa
質問者

お礼

補足に間違いがありましたので。 >実際に試しましたところ、=INDIRECT(CHAR(64+COLUMN())&11)の式を先に書き込んであると動きません。 これは間違いです。 =INDIRECT(CHAR(64+COLUMN())&11)の式を先に書き込んで、一度、ファイルを閉じてから開くと、うまくいきました。 申し訳ありません。 判っていたら、ポイントは、先着順にしたかったです。

ki-aaa
質問者

補足

早速に回答ありがとうございます。 実際に試しましたところ、=INDIRECT(CHAR(64+COLUMN())&11)の式を先に書き込んであると動きません。 11行に、入力したあと、セルのA1に=INDIRECT(CHAR(64+COLUMN())&11)を貼り付けると動きました。また、行はどの位置でも動くんですね。 ということは、毎回貼り付けをやらないといけないということでしょうか。 また、違う方法がありましたら、教えてください。ありがとうございました。

関連するQ&A

  • Excelで並べ替え

    Excelのデータを並べ替えたいのですが 「形式を選択して貼り付け」の「行列を入れ替える」ではできません。 1行目は項目名があります。 A2からA12のセルに「あ」、A13からA23のセルに「い」と入力されています。 B2からB12のセルにはそれぞれ異なるデータが、B13からB23のセルにもそれぞれ異なるデータが入力されています。 これを A2に「あ」を表示させて、B2からB12のセルに入力されているデータを 「あ」の右へ横並びに A3には「い」とB13からB23が「い」の右へ横並びに 表示させたいのですが、方法がわかりません。 どのようにしたらできるでしょうか? どうぞよろしくお願いします。

  • エクセルのマクロの組み方に詳しい方

    エクセルのマクロの組み方に詳しい方はいらっしゃいませんか? 今、売り上げの記入を自動化できるようにマクロを組もうと試みています。 しかし、マクロの本を見てもちんぷんかんぷんです 。 頭の中で考えていることですが… まずデータベースとしてエクセル、またはそれに代用できるファイルに手入力で仕入れの詳細を記入していきます。 これは自分で入力していくので問題ありません。 ここからが問題です。 データベースとは別のエクセルにマクロを登録して、データベースから仕入れ情報を検索したいのです。 例えば… A1商品名、A2重量、A3仕入値…というように項目を作っていきます。 そしてB行に検索したい文字、数値を入力します。 そしてボタン1をクリックすると、B 行に入力した値に一致するデータを行ごとD行に呼び出します。 最後にD行の売上の項目に売上を記入して、更新したD行のデータをシート2、又は別のエクセルファイルに張り付けられるようにしたいです。 データの張り付けを文字のあるセルの最後尾の下の空白のセルに張り付けていけるようにしたいです。 どのようなマクロを組むと良いでしょうか?どのような言語を使うと良いでしょうか? 詳しい方是非是非教えて下さい。。

  • エクセルで可能でしょうか? お助けを!

    エクセル2003を使い、A4サイズのA表に1項目(1行)に2種類の数値データ(仮にa,bとします)を手書きで50項目程書き込んだものがあります。  これを1日一枚毎週作成しています。 この数値データa,bを別に1項目1ページとして作成したA4サイズのB表に順次入力したいのですが、どんな方法が可能でしょうか。 イメージしているのは、 A表はパソコンに有りますので、a,bのデータをこの表に打ち込んだら 自動的に該当のB表にデータが入力される。 もしくは、B表をA表の項目順に配列して、1項目a,bを入力したら自動的に次のB表の入力セルが表示され、単純に入力を繰り返えす事でB表全部に入力出来る。  というようなことです。 単に関連づけの問題・・という人もいますが具体的な手法が分かりません。 VBAでやればいいのか、マクロで可能なようにも思いますが、項目数を考えると自信がありません。 或いは、アクセスの方が作りやすければそちらを勉強してみたいとも考えたりします。 説明が要領得ない部分もあるかと思いますが、是非お助けください。 お願いいたします。

  • エクセルマクロの行非表示及び挿入

    エクセルマクロの方法について質問です。 今6~70行の中に表(入力項目は3行一体)を作っていてそのEセル(3行の結合セル)に”済”と入力すると3行で一体の行を非表示にし、非表示にしたことで入力行が減ってしまうので、非表示にした後に最後から2つ目の3行一体の行にコピーして行を挿入する構文を教えてください。 なお、最後の行挿入だけはマクロの自動記憶でも出来そうでしたが、その前段階の非表示がどうしてもうまくいきません。

  • エクセルのマクロを使用したコピー

    仕事でよく使うデータを入力が簡単に出来るように色々と試しているのですが、A1のセルに「A・B・C」と入力されており、ボタンかリストボックスでA・B・Cのいずれかを選ぶと選んだ文字に図形の丸で囲うようにしたいのですが、当初はそれぞれに丸をつけたセルを表の外のセルに作っておいてそれぞれを選択したした時にコピー→貼り付けにしていたのですが、その選ぶ項目がかなりあるので一つ一つのセルをマクロに入力するのは時間がかかるので現在選んでいるセルに特定のセルを貼り付けるか丸を書くと言った事は出来ないでしょうか?

  • (エクセルマクロ)複数の一連作業をマクロで行う処理について

    以下の一連の処理についてマクロのコードを一式で教えてください。 【エクセルの構成】 1.シート名 日付だけ都度変更する形式 (例:YYYYMM_教えてGoo) 2.表 列 AからAAまでデータあり 行 1行目はタイトル。2行目以降からデータ。 【処理手順】 1.表全体のフォントを「MS Pゴシック フォント9」にする。 2.1行目から11行目と13行目を削除 3.A列とD列削除 4.一行目の項目行にオートフィルタを設定 5.ウインドウ枠の固定(先頭行(一行目の項目行)の固定) 6.H列に文字が入ってる行のみ削除 7.E列とF列を昇順に並び替え(優先順位は(1)F列、(2)E列) 8.データの最終行の次の行のU列からZ列に表を入れる。 (例)5行目が最終データ行の場合  A…U V W X Y Z 1 ・ 5   6 A =SUM() 7 B 8 C     =SUM() (書式設定と詳細) セルU6 「文字列A」と入力し、背景は黄色、文字色は赤 セルV6 背景は黄色、文字色は赤 セルW6 背景は黄色、文字色は赤 セルX6 背景は黄色、文字色は赤 セルY6 背景は黄色、文字色は赤 セルZ6 数式入力(=SUM(Z$2:Z5(最終行))、背景は黄色、文字色は赤 セルU7 「文字列B」と入力し、背景は黄色、文字色は赤 セルV7 背景は黄色、文字色は赤 セルW7 背景は黄色、文字色は赤 セルX7 背景は黄色、文字色は赤 セルY7 背景は黄色、文字色は赤 セルZ7 背景は黄色、文字色は赤 セルU8 「文字列C」と入力し、背景は黄色、文字色は赤 セルV8 背景は黄色、文字色は赤 セルW8 背景は黄色、文字色は赤 セルX8 背景は黄色、文字色は赤 セルY8 背景は黄色、文字色は赤 セルZ8 数式入力(=SUM(Z6:Z7)、背景は黄色、文字色は赤 すべて掛け線なし 9.データ最終行(表も含む)から5行目全体をグレーにし、その行のA列に「データA」と入力。 10.I列に文字が入ってる行のみを切り取り、一番最後にデータが入ってる行から6行目(「データA」と入力した下の行から) から貼り付ける。(切り取った行は行削除し、上詰め) 11.データ最終行(切取貼り付けしたデータAを含む)から3行目全体を黄色にし、その行のA列に「データB」と入力。 12.X列の前に列を挿入し、挿入した列の一行目(項目行)に「タイトル」と記入。 13.挿入した列の2行目から前の列(W列)にデータが入ってる行まで数式(=ROUND(W2/1.05,0)※2行目に入力した場合)をコピー。 14.セルAB1に「No.」と記入。 15.G列からW列とY列からAA列を非表示にする。 6と8以降からマクロの自動記録ではできませんでした。 ご教授お願いします。

  • エクセルで教えてください

    表が2表あります。 1表は月次のデータが月別・項目別に入っています。 2表で1表の特定の行を参照して月ごとのデータを取り出したいのです。 (例)2表のセルa1に月を入力       セルb2に2表のその月の特定データを表      示 一つならいいのですが1表に行が違うデータをいくつも取りたいのです(月は同じです) 宜しくお願いします 

  • エクセル間数式について

    生年月日の範囲があり、その範囲内に該当するものに"◎"をしたいのですが、エクセル関数で表示できる式をご教示願います。 例えば、1行目S16.4.2~S18.4.1、2行目 S18.4.2~S20.4.1、3行目S20.4.2~S22.4.1----等あり、 関数式 =IF(and(Aセル>=Bセル,Aセル>=Cセル),"◎","")を作成したのですが、うまくいかないのです。Aは各誕生日を入力するセル位置です。 よろしくお願いします。

  • Excel VBA - 数式のコピーと値貼り付け

    A~Cを使った表があり、AとBには値が入力されています。 C2に"=A2+B2"と入力し、その式を、A列の最終行と同じ行までコピーし、C2からCの最終行までの範囲をコピーして同じ範囲に値貼り付けするにはどういうVBAを書けばいいでしょうか。 宜しくお願い致します。

  • 行コピーして、今日の日付の行に貼り付けるマクロ

    こんにちは、エクセルマクロについて、助けて頂きたく質問させていただきました。 添付しました画像のような表があり、 セルA2に「=TODAY()」が入っていて、セルB2から右は別シートのデータを参照しています。 マクロを実行すると、2行目を行コピーし、セルA3以下の日付からセルA2の日付(今日の日付)を探し出して、行貼り付けしてほしいです。 行コピーや値で貼り付けはマクロの記録を使って、詳しくない私でもなんとか作ることはできるのですが、 今日の日付を探し出して、そこに貼り付ける。というマクロは作れませんでした・・・。 お助け下さい、宜しくお願いします! ※補足します セルA2の今日の日付は便宜上入力しているだけです。無い方がマクロを組みやすいのなら、無くせます。

専門家に質問してみよう