• ベストアンサー

エクセルで・・・

エクセルでB2~E10で表を作ったとします。 (そのうちC列には元々文字が入っています。) その表を B2→D2→E2→B3→D3→…→E10 と文字を入力した後自動に各セルを選択する方法がありますでしょか? おそらくマクロを使えばできたと思うのですが忘れてしまいました。 もしわかる方がいれば教えてください。

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

1.B列、D列、E列でセルの書式設定>保護のタブ>ロックのチェックを外す 2.ツール>シートの保護>許可する操作で「ロックされたセル範囲の選択」のチェックを外す 3.ツール>オプション>編集タブで「入力後にセルを移動する」にチェックを入れ、移動方向を「右」にする Excel2003だとこれで出来ますが…

you_1985_you
質問者

お礼

ありがとうございます。 私のパソコンではできました。 しかし私のパソコンではなく知り合いのパソコンですので(おそらく98だったかな)また一度試してみたいと思います。

その他の回答 (4)

noname#79209
noname#79209
回答No.5

余計なお世話ですが、 他の方も言われているように、VBAでなくてもできることです。 ちょっとやり方がわからないと、何でもVBAに走るのは、あまりお勧めしません。 前に、他の方がVBAで作った機能をそれとは知らず使っていて、通常の機能と勘違いされており、 「○○する機能ができない。どのように操作すればできるのか。」という質問をされていました。 老婆心ながら...

you_1985_you
質問者

お礼

ありがとうございます。 確かに他の問題もでてきますね… 今回は知り合い(初心者)に頼まれてできるだけ簡単に扱えるようにと思っていましたが余計ややこしくなる可能性もあえりますね… いろいろなパターンでやってみて一番良い方法で作成したいと思います。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

VBAで、例えばSheet1の、Changeイベントに Private Sub Worksheet_Change(ByVal Target As Range) Application.MoveAfterReturnDirection = xlToRight Select Case Target.Column Case 2 'B列 Target.Offset(0, 2).Select Case 5 'E Target.Offset(1, -3).Select End Select End Sub をコピペ シードでENTERかTABで異動すると B2->D2->E2->B3・・に動いてていきます。 >Application.MoveAfterReturnDirection = xlToRight (カーソル右移動)は以後効いたままになるので、マクロまたは手動で好みの方向に設定しなおすこと。 これだけ簡潔になった(Case文の利用、Offsetの利用を思いついた)のは、やはり小生の経験によるものと思う。

you_1985_you
質問者

お礼

ありがとうございます。 VBAはほんとにかじった程度だったのですごく助かります。 一度作成してみたいと思います。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

【任意のセルへの移動】 ■手順■ 1)Ctrlを押しながら、マウスで入力順の2番目からセルを1つずつ指定していきます 2)最後に、入力順1番目のセルを指定します 3)指定した、セルが反転し最後に指定したセルは白になります 4)この状態で、指定した範囲に「◆入力順」と名前をつけます(名前は、なんでもいいです!) 5)左上の「名前ボックス」から、「◆入力順」を選択すると、先程のセルが指定状態になります 6)Enter をおすと、セルが指定順に移動します 7)なお、名前を定義するときに、参照範囲の式の、$ を消すと、「◆入力順」を選択した時のセルが起点になります!

you_1985_you
質問者

お礼

ありがとうございます。 前の方のところにも書いたとおり知り合い(初心者)が操作するため一から教えていると時間が足りないためできるだけ簡単にとおもいました。 また慣れてきたところでこの方法も教えたいと思います。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

入力後に右へ移動したいときはタブキー、入力後に下へ移動したいときはエンターキーを押すようにすると、C列をスキップするのは大した手間でもないですよ。

you_1985_you
質問者

お礼

ありがとうございます。 すみません言葉が足りませんでした。 そのやり方で私もしていますが今回知り合いのパソコンでそういう風にしてほしいとの事でしたのでできるだけ簡単にと思いました。

関連するQ&A

  • エクセルのマクロで特定の文字があるときだけコピーできるようにしたい

    エクセルのマクロで特定の文字があるときだけコピーできるようにしたい エクセルでこういう表があるとします ココカラ 1 * 2 b 15 3 * 4 d 19 5 e 25 6 * 7 g 35 8 * 9 j 46 10 k 54 ココマデ このような表があるとき、マクロを使ってもしB列に「*」以外の文字(この場合アルファベットのb) があるときは左のセル(2)をずっと下のセルにコピー(仮にA50とします)した後、右のセル(15)をB51にコピー、 次は文字が「*」なのでコピーはせずにd列になったら4と19をC50,D51にコピー・・・ という作業をセルに「ココマデ」と書いているところまで繰り返す、というマクロを作りたいのですが、どうすれば いいのでしょうか?

  • EXCEL入力規則選択 → 文字表示 or 入力可

    EXCEL2003で表を作成しています。 B列に入力規則を使い、「イ」または「ロ」が選べるようにリストを作ってあります。 B列(B3)のセルで 「イ」 を選ぶと、D列(D3)には「A」、E列(E3)には「0000」、F列「-」を表示させるようにし、B列(B3)のセルに 「ロ」 を選ぶと、D列(D3)、E列(E3)、F列(F3)に任意の文字を入力できるようにしたいのです。 以下、B4、B5、、、、と続いていっても、D4、E4、F4. D5、E5、F5・・・と対応していくような表にしたいのです。 関数でも、マクロでも何でもかまいません。できるだけ、簡単な方法を教えていただければと思います。よろしくお願いします。

  • エクセルでの連番の処理

    お世話になります。 1行目に入力されたデータをルールに沿って2行目以下にどんどん追加していきたいと思っています。 まずD1、E1のセルに数字を入れます。 例:D1に3、E1に25 を入れてマクロを実行するとD列の2行目以下に3,4,5,6…25と連番で入力出来るようにしたいのです。 この例ではD列は24行目まで入力されています。そこで2行目から24行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。なおA,B,C列は数字、文字列どちらもあります。空白の場合もあります。 この状態でA~E列の1行目のデータを変更し、仮にD1を2、E1を15としたとします。ここで再度マクロを実行すればD25に2、そして順に連番が入りD38に15が入るようにします。 同時に25行目から38行目までのA,B,C列にはそれぞれ1行目のA,B,C列と同じデータを入力します。 これの繰り返しです。 つまり2行目以下のD列で空白の行以下にどんどん連番を入れていく具合です。 前提としてD1、E1は整数しか入りません。またE1の数字はD1より大きいです。ただD1,E1に同じ数字が入った場合、その数字の1行分だけが入力されるようにします。 以上の処理が自動化できるマクロはできますか? アドバイス願います。

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

  • エクセル関数について

    エクセルでセルA1に1、B1に2・・・・・Iに、J1に10が入力された表があります。また、A2に1、B2に3、C2に5、D2に7が入力されています。A2からD2を検索してA3に1、C3に1、E3に1、G3に1を入力します。次に、A2からにD2に2,4,6,8、と入力して同様にB3、D3、F3、H3に1が入るようにしたいのです。 このとき、1,3,5,7の値と2,4,6,8、の値が消去されず。またA2からD2に再度異なる数を入力した場合3列の値に1が加算されるようにしたいのですが、教えてください。

  • EXCEL

    A-B-C-D-E-F-G 1-A-W-A-1-B- 2-B-A-N-2-C- 3-C-K-A-3-B- 4-D-A-I-4-E- 5-E-R-X-5-A- 例えば,エクセルで表のようになっている場合に, 列AにF1の値(表の場合は文字B)で検索をかけ,検索に該当した行(表の場合では行2)の列Dの値をG1に表示する方法はあるでしょうか?? 簡単に言うと,列Gに自動的にFに対応するDの数値を入力したいのです.自動的に列Gを下の表のようにすることは可能でしょうか? A-B-C-D-E-F-G 1-A-W-A-1-B-2 2-B-A-N-2-C-3 3-C-K-A-3-B-2 4-D-A-I-4-E-5 5-E-R-X-5-A-4 投稿すると文字がずれてしまって表が見難くてすいません. どなたか,ご教授よろしくお願いします.

  • エクセルの計算式がわからなくて困っています!

    エクセル2000を使っています。 B2~D2のセルにa、b、cの項目を、A2~A4のセルには食物の名前を入れています。 a→魚、b→肉、c→野菜とそれぞれ対応しており、例えば (1)A2に「サバ」と入力されてたら、B2に1 (2)A3に「茄子」と入力されてたら、D3に1 (3)A4に「豚」と入力されてたら、C4に1 と入力した表があるのですが、 さらにE列を設け、そこに選択した項目a、b、cを表示させたいのです。 実際はa~oまで項目を設けていますので、IF関数では対応できないのではないかと思うのですが・・・ ご回答、よろしくお願いします!

  • EXCELに詳しい方

    EXCELに詳しい方、以下2点わかりましたら宜しくお願いします (1)セルA1に「食費」「交際費」と記載すると セルB1に記載されていたものが消える(空欄にする)ようにするにはどうすればいいでしょうか? セルB1に直接数字を入力したく関数を入れてしまうと数式が上書きされて消えてしまうので 関数ではない設定で方法はありますか? 条件付き書式でできるかな、と思いましたが設定できるのは書式だけで セルに入力していたものを消すことは不可能ですよね・・? (2)A1にアルファベットと数字の文字、C1には数字があるときに B1に1から連続した数字を自動的に割り振られるようにしたいです つまり A列   B列   C列 JKL456  1  3000       2   4003       3   5456       4   5894 S56D  1    8111       2   4512       3   6812 SJN2  1      5812       2   4213 ポイント A列とC列に入力されたときB列が1になる C列に入力されているとき上の1から連続した数字をもってくる A列とC列は自分で入力するがB列は自動で数字が入るようにしたい できたらマクロを使わないで設定できたらいいですが マクロを使わないとできないようであれば そのやり方も教えてください。 宜しくお願い致します。

  • エクセルマクロ 次のようなプログラム教えてください

    エクセルのマクロで、次のようなことをしたいと思っていますが、 素人でわかりません。 教えていただけますか。 ---------------------------------- o動かしているファイルをa.xlsとします。  a.xlsは、3行目からA列に名前、B列~D列にデータが入っていて、  各行ごとのファイルを作りたい。(行数は決まっていない)  なお、セルE1にある文字が入っている。 o各ファイルは、原紙としてgensi.xlsとして保存されているファイルに、  a.xlsのB~D列のものを入力したものを作りたい。  (B~D列のデータは、gensi.xlsのそれぞれセルC7・C8・C9に入力する)   gensi.xlsは、a.xlsと同じフォルダにあります。 o作成場所は、「C:\date」の中に、セルE1にある文字のフォルダ、A列に  ある名前のフォルダに作りたい。 (セルE1の文字のフォルダは、マクロを初めて実施するときは無いと思います  が、2回目からは存在すると思います。A列の名前のフォルダはマクロ実施時  にはありません。作成するファイル名は、A列の名前と同じ(フォルダ名と同じ).xls にします。) o実行ボタンを3つ作って、1つは今選択されている行のフォルダ・ファイルを作る。  2つ目は数字を入力させて、今選択されている行から入力した数字の行までを一括  で作成する。  3つ目は、3行目から現在入力されている行すべてを一括で作成する。 ------------------------------- 上記のことをしたいと思っています。 よろしくお願いします。 駄文ですみません。 なお、エクセルは古いバージョンでエクセル2000です。

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

    エクセルでB列には商品名(セルB1にみかんセルB2にみかんセルB3にみかんセルB4に柿セルB5に柿セルB6に柿、C列にはみかん柿の数量ランク(例:C1に1~、C2に10~、C3に100~と記入)、D列にはC列のランク毎の単価が表示されています。(D1に1000、D2に800、D3に500、D4に1500など) この表を、ほかのシートのA1にみかん、A2に柿と入力させて、B1に関数を入力してB1セル内で数量ランクの1~1000、10~800、100~500と横一列に表示させたいのですが可能でしょうか? どのような関数が適当でしょうか? このパソコンはエクセル使えず、添付できずわかりにくい説明で申し訳ないのですがどなたか教えてください。よろしくお願いいたします。

専門家に質問してみよう