Excel VBA質問箱 IV

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

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


39175 / 76732 ←次へ | 前へ→

【42672】Re:データベースの値取得について
発言  ichinose  - 06/9/19(火) 7:28 -

引用なし
パスワード
   おはようございます。
>こんにちは,9月7日の質問『プロシージャが大きすぎて処理出来ない』を参考
>に,ワークシートの指定した位置へのデータ投入について作成させて頂いてま
>すが,このような事例を利用して、逆に指定した位置からユーザーフォーム上に
>データを表示させると言う事は可能でしょうか?

ここまでを読めば、下記のコードの変数rwが入力データとして


rw-------> 関数  --------> t_valとidxを出力

という関数があればよいという解釈ですが・・・・。

そうだとすれば、一例ですが、
標準モジュールに
'================================================================
Public Type value_set
  t_val As Long
  idx As Long
  End Type
'===================================
Sub main()
  Dim test As value_set
  test = get_val(25)
  MsgBox test.t_val 'rwが25の時のt_val
  MsgBox test.idx  'rwが25の時のidx
  MsgBox get_val(100).t_val 'rwが100の時のt_val
  MsgBox get_val(100).idx  'rwが100の時のidx
End Sub
'===============================================
Function get_val(ByVal rw As Long) As value_set
  With get_val
    Dim retcode As Long
    retcode = 1
    For .t_val = 1 To 34
     For .idx = 1 To 5
       If .t_val * 5 + .idx + 3 = rw Then
        retcode = 0
        Exit For
        End If
       Next .idx
     If retcode = 0 Then Exit For
     Next .t_val
    If retcode <> 0 Then .t_val = 0
    End With
End Function


mainを実行してみてください。

指定したrwに対するt_valとidxが求めることが出来ます。

とこういうことですか??


>
>この例では,2つの指定要素に基づいて投入位置を計算して位置を特定して
>います。
ですね!!よって、逆を行うとなると、一つの値から二つの要素を見つけなければ
なりませんんね!!この事象の場合は、簡単に出来ましたけど・・。
簡単ではない場合もあると思います。

>何か,VLookup関数やIndex関数を利用したケースよりも簡単そうに出来そうな
>感じがしまして....と言うよりVLookup関数やIndex関数の利用に悪戦苦闘し
>ているのが本音ですが....
うーん、これは、やりたいことにもよりますが。

少なくともVLookup関数やIndex関数は、
それぞれの関数の入力データが何なのか、それによってどんな出力データが返される
関数なのかははっきりHelpに書いてあります。
その関数の機能がヒロシさんがなさりたい処理に使用できるのか否かは、
その仕様がはっきりしないとわかりません。

私の解釈では、上記のコードになります。

検討してみてください。

1 hits

【42670】データベースの値取得について ヒロシ 06/9/19(火) 1:48 質問
【42671】Re:データベースの値取得について かみちゃん 06/9/19(火) 6:16 発言
【42684】Re:データベースの値取得について ヒロシ 06/9/19(火) 12:35 発言
【42672】Re:データベースの値取得について ichinose 06/9/19(火) 7:28 発言
【42683】Re:データベースの値取得について ヒロシ 06/9/19(火) 12:33 発言
【42703】Re:データベースの値取得について ichinose 06/9/19(火) 19:42 発言
【42760】Re:データベースの値取得について ヒロシ 06/9/20(水) 23:11 お礼

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