Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13268 / 13646 ツリー ←次へ | 前へ→

【6200】シート間でのデータ表示についての質問です ポチ 03/6/19(木) 10:53 質問
【6229】Re:シート間でのデータ表示についての質問で... Jaka 03/6/19(木) 17:33 回答
【6238】Re:シート間でのデータ表示についての質問... ポチ 03/6/19(木) 23:13 質問
【6239】Re:シート間でのデータ表示についての質問... ichinose 03/6/19(木) 23:39 回答
【6241】Re:シート間でのデータ表示についての質問... ポチ 03/6/20(金) 9:30 質問
【6242】Re:シート間でのデータ表示についての質問... ichinose 03/6/20(金) 9:59 発言
【6243】Re:シート間でのデータ表示についての質問... Jaka 03/6/20(金) 11:49 回答
【6250】どうもありがとうございました!! ポチ 03/6/20(金) 14:10 お礼

【6200】シート間でのデータ表示についての質問です
質問  ポチ  - 03/6/19(木) 10:53 -

引用なし
パスワード
   こんにちわ、どなたか教えて下さい。


現在、シート1で行単位で入力したデータを、シート2にある複数の所定のセル
(点在しています)に反映させているのですが、シート2にある所定のセル全てで、
シート1の行番号を選択しなければなりません。

シート1では1行につき1データです。
シート2では1データのみ表示(反映)させればOKですので、シート2の1つの
所定のセル(シート1のデータ反映セル)に、シート1の行番号を入力するだけで、
シート2のその他の所定のセルにシート1の行番号を入力せずに済む方法はないも
のでしょうか?

なお、シート2はプリントアウトするデータですので、シート2上では何も入力
したくはありません。

漠然としたご質問ですみませんが、どなたか宜しくお願い致します。

【6229】Re:シート間でのデータ表示についての質問...
回答  Jaka  - 03/6/19(木) 17:33 -

引用なし
パスワード
   こんにちは。
良く解っていませんが..。
例えば、シート2のデータを表示させたい行に、下記のような関数を書いておいて、シート1A1に表示させたい行を記入して参照させる方法とか...。
こう言うのと違うのでしょうか?
(たぶん、トンチンカンな事といっていると思うけど。)

=IF(Sheet1!$A$1<>"",IF(INDIRECT("Sheet1!A"&Sheet1!$A$1)<>"",INDIRECT("Sheet1!A"&Sheet1!$A$1),""),"")
=IF(Sheet1!$A$1<>"",IF(INDIRECT("Sheet1!B"&Sheet1!$A$1)<>"",INDIRECT("Sheet1!B"&Sheet1!$A$1),""),"")
=IF(Sheet1!$A$1<>"",IF(INDIRECT("Sheet1!C"&Sheet1!$A$1)<>"",INDIRECT("Sheet1!C"&Sheet1!$A$1),""),"")
   ・
   ・

【6238】Re:シート間でのデータ表示についての質問...
質問  ポチ  - 03/6/19(木) 23:13 -

引用なし
パスワード
   ▼Jaka さん:

こんばんわ、ご返答ありがとうございます。

今の状況は

<シート1>

     A列    B列    C列     ・・・・
 1行  大阪市   山田    6月25日   ・・・   
 2行  青森市   佐藤    2月1日    ・・
 3行  東京都   吉田    3月10日   ・・・

上記のように行単位でデータを入れています。
大阪市の山田様6月25日・・という感じでその他にもデータが続きます。


<シート2>

 シート1で入力したデータを元に送付状を作っています。
 セル内に「シート1!A1」、「シート1!A2」という具合に入力し
 大阪市の山田様への送付状を作成します。青森の佐藤様宛てに変更する
 為には、数字の部分を1から2に入力し直しています。
 が、変更しなければならないセルが多く、しかも全て同じ数字に変更す
 る事になるのですから一括で変更できればとても助かるのです。
 変更するセルの数は、シート1の列の数と同じになります。
 
 例えばシート2のセルどれか一つにシート1の行の数字を入力する事に
 より、シート2の変更しなければならないセルの数字が同じくなれば
 いいのですが・・・。

 いつも説明が下手で済みません。
 もし、何か良い案がありましたら宜しくお願いいたします!!

【6239】Re:シート間でのデータ表示についての質問...
回答  ichinose  - 03/6/19(木) 23:39 -

引用なし
パスワード
   ▼ポチ さん:
▼Jaka さん:
こんばんは。

>
>今の状況は
>
><シート1>
>
>     A列    B列    C列     ・・・・
> 1行  大阪市   山田    6月25日   ・・・   
> 2行  青森市   佐藤    2月1日    ・・
> 3行  東京都   吉田    3月10日   ・・・
>
>上記のように行単位でデータを入れています。
>大阪市の山田様6月25日・・という感じでその他にもデータが続きます。
>
>
><シート2>
>
> シート1で入力したデータを元に送付状を作っています。
> セル内に「シート1!A1」、「シート1!A2」という具合に入力し
> 大阪市の山田様への送付状を作成します。青森の佐藤様宛てに変更する
> 為には、数字の部分を1から2に入力し直しています。
> が、変更しなければならないセルが多く、しかも全て同じ数字に変更す
> る事になるのですから一括で変更できればとても助かるのです。
> 変更するセルの数は、シート1の列の数と同じになります。
> 
> 例えばシート2のセルどれか一つにシート1の行の数字を入力する事に
> より、シート2の変更しなければならないセルの数字が同じくなれば
> いいのですが・・・。
>
> いつも説明が下手で済みません。
> もし、何か良い案がありましたら宜しくお願いいたします!!

仮にシート2のセルE1にシート1の表示したい行数が入っているとしましょう。

この時、シート2のあるセルにシート1のA列のデータを表示するには、

「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,0,1,1),"")」
となります。

では、B列の場合は、

「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,1,1,1),"")」

さらにC列の場合は、

「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,2,1,1),"")」

という方法ですが、どうでしょうか?。

【6241】Re:シート間でのデータ表示についての質問...
質問  ポチ  - 03/6/20(金) 9:30 -

引用なし
パスワード
   ▼ichinose さん

おはようございます!!


ご説明に誤りがありました。訂正させてください。


 <シート1>
  
      A列    B列    C列     ・・・・
  1行  大阪市   山田    6月25日   ・・・   
  2行  青森市   佐藤    2月1日    ・・
  3行  東京都   吉田    3月10日   ・・・
 
 上記のように行単位でデータを入れています。
 大阪市の山田様6月25日・・という感じでその他にもデータが続きます。

 
 <シート2>

  シート1で入力したデータを元に送付状を作っています。
  シート2の各セル内に「シート1!A1」、「シート1!B1」と入力し
  シート1の1行目のデータを表示させ、大阪市の山田様への送付状を作成
  します。青森の佐藤様宛てに変更する為には、数字の部分を1から2に入
  力し直しています。
  が、変更しなければならないセルが多く、しかも全て同じ数字に変更す
  る事になるのですから一括で変更できればとても助かるのです。
  変更するセルの数は、シート1の列の数と同じになります。
  

すみませんが、宜しくお願い致します。。  

【6242】Re:シート間でのデータ表示についての質問...
発言  ichinose  - 03/6/20(金) 9:59 -

引用なし
パスワード
   ▼ポチ さん:
おはようございます。


>>仮にシート2のセルE1にシート1の表示したい行数が入っているとしましょう。

>>この時、シート2のあるセルにシート1のA列のデータを表示するには、

>>「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,0,1,1),"")」
>>となります。

>>では、B列の場合は、

>>「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,1,1,1),"")」

>>さらにC列の場合は、

>>「=IF(E1<>"",OFFSET(シート1!$A$1,E1-1,2,1,1),"")」

>  が、変更しなければならないセルが多く、しかも全て同じ数字に変更す
>  る事になるのですから一括で変更できればとても助かるのです。
>  変更するセルの数は、シート1の列の数と同じになります。

ということは、シート1を参照するシート2では、
「あるセルでは、1行目A列を参照し、また別のセルでは、3行目のB列を参照する」
ということを同時に行いたいのですか?
シート2で同時に参照するのが全て同じ行の列違いであれば、
行を指定するセルは、一つですみませんか?
列の数だけ指定させることが必要な理由がわかりません。
それを説明してください。

それと今日は、すぐ出かけてしまうので、
返事か遅くなってしまいます。
jakaさん、Helpです。よろしくお願いします。

【6243】Re:シート間でのデータ表示についての質問...
回答  Jaka  - 03/6/20(金) 11:49 -

引用なし
パスワード
   >  シート2の各セル内に「シート1!A1」、「シート1!B1」と入力し
>  シート1の1行目のデータを表示させ、大阪市の山田様への送付状を作成
>  します。青森の佐藤様宛てに変更する為には、数字の部分を1から2に入
>  力し直しています。
>  が、変更しなければならないセルが多く、しかも全て同じ数字に変更す
>  る事になるのですから一括で変更できればとても助かるのです。
>  変更するセルの数は、シート1の列の数と同じになります。

う〜ん。
例えば「シート1!A1」、「シート1!B1」などを
   「シート1!A2」、「シート1!B2」に変化、つまり参照先を変かさせたいって事ですよね?

それだったら、前に書いた私のと変わらないと思いますけど..。
(ichinoseさんのは、OFFSET関数が解らないので良く見てませんが。)

前の関数では、仮にSheet1!$A$1を好きな所に変えるだけですけど
=IF(Sheet1!$A$1<>"",IF(INDIRECT("Sheet1!A"&Sheet1!$A$1)<>"",INDIRECT("Sheet1!A"&Sheet1!$A$1),""),"")

取り合えず
シート1に
  A    B   C
1
2 1ああ 1いい 1うう
3 2ああ 2いい 2うう
4 3ああ 3いい 3うう
5 4ああ 4いい 4うう
6 5ああ 5いい 5うう

と書いて、

シート2の好きな行に、前に書いた関数を3個、好きな列に続けて各関数をいれて、シート1のA1に6と入れた後、シート2を見てください。

【6250】どうもありがとうございました!!
お礼  ポチ  - 03/6/20(金) 14:10 -

引用なし
パスワード
   Jakeさん、ichinoseさん、ありがとうございました。
解決できました!!

頂いたアドバイスを再度読み返してみて、結局一番初めに頂いたJakeさんの
回答でクリアできるものだったのです。
自分でも質問の内容を間違えたりして、頭の中で上手く整理できておりませんでした。
お二方にはご迷惑をおかけいたしました。
本当に本当にすみません。。

自分の思い通りのものができました♪

どうもありがとうございました!!

13268 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free