• ベストアンサー

Excel2007で抜き取り?

ア、イ、ウ、エ、オ、カ、キ、ク、ケ、コの記号のいずれかがセルA3~J3の各セルにダブルことなく適当に入ってます。L3とM3に1~10までのどれかを入れて、 (1)L3に1が入ると、A3に入った記号がO3にコピーされ (2)M3に5が入ると、A3から5番目のE3に入った記号がP3にコピーされる という仕組みにしたいです。 今は例えで3行目を使いましたが、4行目、5行目.....とできるようにしたいです。 誰かよろしくお願いいたします。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

こんばんは シートモジュールに貼り付けてお試しください。 Private Sub Worksheet_Change(ByVal Target As Range) With Target If Intersect(.Cells, Range("L:M")) Is Nothing Then Exit Sub If .Row < 3 Or .Value = "" Then Exit Sub If Not IsNumeric(.Value) Then Exit Sub .Offset(, 3).Value = Cells(.Row, .Value).Value End With End Sub

961awaawa
質問者

お礼

いきなりの補足を利用しての別の質問、失礼しました。 watabe007さんに沢山助けてもらってたんでこれまでを推測していただけ安いと思い補足にてワガママに質問してしまいました。よろしければここの解答でアドバイス等をいただけたらたすかります。

961awaawa
質問者

補足

駆け出し段階でありながら、今までこのサイトでwatabe007さんに 数々質問をさせていただきました。そして数々の解答と共にソースもいただきました。ありがとうございます。 これらのソースを1つのworkbookの標準モジュールに書きました。(こういう理解の仕方で良いのかわからないですけど?) そのブックをコピーして別のデータを入れました。 コピー元のブックにある標準モジュールのソースがコピーしたブックで使えると思いましたがエラーになります。 コピー元のブックの標準モジュールのソースがコピーしたブックで使える様にするにはどうすればよろしいでしょうか? コピーしたブックのデータ内容は変えてますが形は同じなので使えるはずなのですが。

その他の回答 (4)

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

質問を読み解くのが、手間がかかった。 (質問の標題は中身を表せてない) 小生なりに、整理して文章にしてみた。 ーー A列からJ列までは、事前にデータが入っている。他セルとはかかわらない独立データ。 K列は余裕列。 L列と,M列は変動する。N列は余裕列。 L列かM列には、それぞれ数ものnが入る。1-10までのどれか。A-J列と対応させる ための制約から10以下。 L列かM列の数字nにより、その行のA1よりの、nだけOFFSETさせた列の値を採って、 O列かP列に値をセットする。 ’-- 例データ 作りやすいからの理由で下記にしたもの。 Sheet1のA1:J10 A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 A4 B4 C4 D4 E4 F4 G4 H4 I4 J4 A5 B5 C5 D5 E5 F5 G5 H5 I5 J5 A6 B6 C6 D6 E6 F6 G6 H6 I6 J6 A7 B7 C7 D7 E7 F7 G7 H7 I7 J7 A8 B8 C8 D8 E8 F8 G8 H8 I8 J8 A9 B9 C9 D9 E9 F9 G9 H9 I9 J9 A10 B10 C10 D10 E10 F10 G10 H10 I10 J10 ーーー Sheet1の Worksheet_Changeイベントに下記をコピペ。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("L:M")) Then Application.EnableEvents = False '-- r = Target.Row c = Target.Column '-- MsgBox "行=" & r MsgBox "列=" & c n = Target.Value 'L列かM列の選択したセルの値 MsgBox "値 = " & n If n > 10 Then 'エラー MsgBox "値が指定範囲を超えている" Application.EnableEvents = True Exit Sub End If m = Cells(r, n) 'その値 MsgBox "A-J列の選択した値" & m Range(Cells(r, "O"), Cells(r, "Y")).Clear '--- Select Case c Case 12 'L列の場合 O列へセット Cells(r, "M").Clear Cells(r, "O") = m Case 13 'M列の場合 P列へセット Cells(r, "L").Clear Cells(r, "P") = m End Select '--- Application.EnableEvents = True End If End Sub テストが終わったらMsgBoxの行は削除すること。 ーーー 第I行目から第5行目までのL列またはM列を適宜入力した結果例 L列 M列 ー 3    C1 <--P1セル 5 ー   E2  <--O2セル ー 9    I3  <--P3セル 6 -     F4  <--O4セル ー 8    H5  <--P5セル 便宜的に上記のーは空白セルを示す。 === 実際のケースはどういうものだろうか。予想もつかない。 当方のテストも少数で、不完全化も。 == 関数で解決できると思ったかもしれないが、難しのではないか。 ・L列非空白ー>O列に受ける式を入れる   値はINDEX関数でL列入力の(順番目を表す)数字でA列からの何番目列からとる。 ・M列非空白ー>P列に受ける式を入れる   値はINDEX関数でM列入力の数字でA列からの指定した何番目列からとる。 (大原則)関数は値をセットするセルの方に式を入れないとならない。 一方、VBAは望みの適切な位置のセルに値を設定できる。また中間値も変数として保持できるので、考えやすい。

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.4

添付画像のようなことでしょうか。 ならば O3=OFFSET(A3,0,L3-1) P3=OFFSET(A3,0,M3-1) でいかがでしょうか。

961awaawa
質問者

お礼

Hohopapaさんありがとうございます。 P3=OFFSET(A3,0,M3-1) の0の部分を空白にしたいのですがどのようにしたらよろしいでしょうか? 詳細設定などでの0無しにはしたくないんです。 P3=OFFSET(A3,空白,M3-1) で抜き取られた物が0の場合は0表示にしたいです。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.3

》 L3とM3に1~10までのどれかを入れて… とのことだけど、 (1)L3に1以外が入ると、Ò3はどうなるの? (2)M3に5以外が入ると、P3はどうなるの?

回答No.2

これって、学校の宿題かな? =MID(CONCATENATE(A3,A4,A5,A6,A7,A8,A9,,A10,A11,A12),B3,1) って感じでいいのじゃーないかな?

961awaawa
質問者

お礼

ありがとうございました。

関連するQ&A

  • Excel2007で必要でないデータ

    必要でないデータを可視化したいとおもいまして質問させて頂き御協力お願いします。 (1)、まずU3~AF3のセルを空にします。U3~AF3のセルの1つずつに記号として扱われるア、イ、ウ、エ、オ、カ、キ、ク、ケ、コ、と空白のいずれかが入ります。 (2)、(1)でU3~AF3に入ったそれらの記号を利用して記号のアイウエオカキクケコの中から消します。 (3)、(2)で消されずに余った記号をセルAH3から右に向かって各セルに1つずつ入れます。 (4)、(1)に戻り違う記号が入ります。(2)にいき(3)についたらセルAH3の下のセルAH4から右に向かって…をマクロボタンを押す度に繰り返したいです。

  • エクセル セルデーターの統合

    エクセルのセル(行)にあるデーターを統合したいのですが・・・。 列も行もかなりあり、共通のデーターは何個かあります。下の例では、ア01とイ01です。 その他は、ア02とイ02という具合にセットになってます。 どちらかの行(ここでは1と3)にデーターをまとめる。 【例】 ***A列|B列|C列|D列|E列|F列| 1|ア01|イ01|ウ*|空白|エ*|空白| 2|ア01|イ01|空白|カ*|空白|キ*| 3|ア02|イ02|ク*|空白|ケ*|空白| 4|ア02|イ02|空白|コ*|空白|ナ*| 【完了後】 ***A列|B列|C列|D列|E列|F列| 1|ア01|イ01|ウ*|カ*|エ*|キ*| 3|ア02|イ02|ク*|コ*|ケ*|ナ*| このような、データーの簡単な結合方法は、ありませんか?

  • エクセルのコピペ機能で

    当方、windowsで、 エクセル2003を利用しております。 エクセルでのセルのコピペ作業で、 行でも列でもいいのですが、 複数行、または複数列に渡る範囲のセルをコピーして、 別のシートに貼り付ける際、 コピーした範囲のセルで、数値が含まれるセルのみをコピーして、 貼り付け先にデータが入っていればそこは貼り付けられず、貼り付け先を残したまま、貼り付けするような機能ってないでしょうか? たとえばですが、コピー元の範囲(図1)をコピーし、(図2)に貼り付けた時に、(図1)が出来上がってしまうのではなく、 図1と図2を足した状態で図3の形で、ペースとしたいのですが、こんな機能ないでしょうか?分かりにくくなってまして申しわけないです。 ご教授いただければ幸です。 図1)  A B C D E 1ア  サ 2イ 3 4エ     ネ 図2)  A B C D E 1  カ 2  キ 3ウ ク 4  ケ 図3)  A B C D E 1ア カ サ 2イ キ 3ウ ク 4エ ケ    ネ

  • 3次関数y=x^3-2ax^2+a^2x (a>0)の0≦x≦1におけ

    3次関数y=x^3-2ax^2+a^2x (a>0)の0≦x≦1における最大値を求めたい。 まず、yはx=(ア)のときに極大値(イ)をとり、x=(ウ)のとき極小値(エ)をとり、さらに(ア)以外にy=(イ)となるようなxの値はx=(オ)である。 そこで、求める最大値をaの関数と考えてM(a)で表すと次のようになる。 a≧(カ)のとき M(a)=(キ) (カ)>a≧(ク)のとき M(a)=(ケ) (ク)>a>0のとき M(a)=(コ) という問題なんですが、(ア)~(オ)までは分かったんですが、 場合わけする部分がどうすれば解答にたどり着くか分かりません。 分かる方解説よろしくお願いします。 解答 (ア)a/3(イ)(4a^3)/27(ウ)a(エ)0(オ)4a/3 (カ)3(キ)a^2-2a+1(ク)3/4(ケ)(4a^3)/27(コ)a^2-2a+1

  • 発声練習英語版

    よく、俳優(の卵)やアナウンサー(志望の人たち)が、「ア・エ・イ・ウ・エ・オ・ア・オ」「カ・ケ・キ・ク・ケ・コ・カ・コ」って発声練習をしているのですが、あれを英語でやるとどうなるのでしょうか? 日本人用の「アエイウエオアオ、~」に対応する、英語の決まり文句のようなものはあるのでしょうか?

  • たんぱく質の代謝の問題について

    炭水化物はブドウ糖などの「ア」になり吸収され「イ」に運ばれ「ウ」として蓄えられる。一部のブドウ糖は血液中に入り「エ」などの組織に運ばれ、肝臓と同様にウに合成され、蓄えられる。このウはエを動かすときの「オ」供給に使われる。 ウは「カ」においてビルビン酸となり。その後「キ」を経て酸化され「ク」と水に分解される。 エで消費されたブドウ糖は「ケ」によって全身に補給される。血糖値が低下すると肝臓に蓄えられていた「ウ」が分解されて「コ」になり血液中に放出される。 の空欄を埋めろという問題です。 ア: イ:肝臓 ウ:グリコーゲン エ: オ: カ: キ: ク: ケ: コ: とまだ分らないところが沢山あります。 ビルビン酸が何なのかも分りません。 よろしくお願いします。

  • 三角関数が分かりません(;o;)

    明日 数学で当たるのですが 数学が嫌いなので ぜんぜん わかりません (;o;) そこで よかったら 途中の式も入れて カタカナの部分を求めるのを お願いします! △ABCにおいて、∠B=Θ、∠C=π/2、AB=2sinΘ とする。 このとき l=sinアΘ-cosイΘ+ウ =√エsin (オΘ-π/カ.)+ウ よって、Θが 0<Θ<π/2の範囲で変化するとき Lは Θ=キπ/ クのとき、 最大値ケ+√コをとる 明日までにお願いします!

  • この問題の解き方教えて下さい

    数学のマーク問題です 2次方程式(a-1)x^2‐(2a-1)x+a-2=0…(1)について (1)a=4のとき (1)の解は x=ア/イ,ウ (2)2次方程式(1)の実数解の個数は a<エ/オのときカ個 a=エ/オのときキ個 エ/オ<a<ク,ク<aのときケ個である。 (3)2次方程式(1)の実数解が1個のとき、その解はx=コサである ア/イ= ウ= エ/オ= カ= キ= ク= ケ= コサ= という問題がよくわかりません。 どうか解答お願いします。 途中式もあると嬉しいです。

  • 三角関数の問題です

    問題がわかりません。教えていただくと助かります。 2cos^2θ-√3 sin2θ-(2a+1)(√3 cosθ-sinθ-1)=0 …(1) を考える。ただし、0≦θ<2π とする。 t=cos (θ+π/6) とおくと 4t^2=アcos^2θ-√イ sin2θ+ ウ であるから。(1)は t^2-(エ+オ/カ)t+ キ/ク = 0 a=3 のとき(1)の解は θ=π/ケ または コ / サ π である。 また、a=シ または スセ のとき(1)は 0≦θ<2π の範囲に3個の解をもつ。 (1)をどう、展開していけばいいのか教えて下さい。 よろしくお願いします。

  • 数I 関数について

    解説をお願いします。 関数h(x)を 1≦xのときf(x)=x^2-4x+4 x≦1のときg(x)=-x^2+2と定める。 問1 -t≦x≦t(t>0)において |h(x)|= 0となるような異なるxの個数は 0<t<√アではイ個、√ウ≦t<エではオ個、カ≦tではキ個である。 また、-t≦x≦tにおける|h(x)|の最大値が2tであるとき t=ク、√ケ+コである。 問2 -2≦x≦pにおけるh(x)の最大値がpであるとき p=-サ、シ、スである。 答え ア2、イ0、ウ2、エ2、オ1、 カ2、キ2、ク1、ケ3、コ1、 サ2、シ2、ス4

専門家に質問してみよう