文字列から
        投稿者 るしぇ  ()
        
        投稿日時 
            2008/9/2 03:57:00
        
    
    
        If A = "名前" Then 
ChooseHensu = 名前
End If
    
ChooseHensu = 名前
End If
        投稿者 るきお  ()
        
        投稿日時 
            2008/9/2 05:10:00
        
    
    
        ローカル変数ならるしぇさんのやり方しかないです。 
フィールド(クラスレベルの変数)ならリフレクションで取得できます。
 
こんな感じです。
 
Public Class Form1
 
Dim 名前 As String = "Visual Basic 中学校"
Dim 年齢 As String = 9
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A As String
 
A = InputBox("何が知りたい?")
MsgBox(ChooseHensu(A))
End Sub
 
 
Private Function ChooseHensu(ByVal hensuName As String) As String
 
Dim flag As Reflection.BindingFlags
flag = Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance
 
Dim r = From f In Me.GetType.GetFields(flag) Where f.Name = hensuName
 
If r.Count = 0 Then
Return Nothing
Else
Return r(0).GetValue(Me)
End If
 
End Function
 
 
End Class
 
VBのバージョンがわからなかったのでVB2008と仮定しました。VB2005でもできますがLINQの部分はFor Eachなどに書き換える必要があります。
    
フィールド(クラスレベルの変数)ならリフレクションで取得できます。
こんな感じです。
Public Class Form1
Dim 名前 As String = "Visual Basic 中学校"
Dim 年齢 As String = 9
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A As String
A = InputBox("何が知りたい?")
MsgBox(ChooseHensu(A))
End Sub
Private Function ChooseHensu(ByVal hensuName As String) As String
Dim flag As Reflection.BindingFlags
flag = Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance
Dim r = From f In Me.GetType.GetFields(flag) Where f.Name = hensuName
If r.Count = 0 Then
Return Nothing
Else
Return r(0).GetValue(Me)
End If
End Function
End Class
VBのバージョンがわからなかったのでVB2008と仮定しました。VB2005でもできますがLINQの部分はFor Eachなどに書き換える必要があります。
        投稿者 よねKEN  ()
        
        投稿日時 
            2008/9/2 18:45:00
        
    
    
        名前、年齢といったものを個別の変数ではなく、  
Dictionary(VB2005以降)なり、Hashtable(VB2003以前)なりを使って保存しておくと、文字列を使って必要な情報を引き出せます。
 
Dim personInfo As New Dictionary(Of String, String)
personInfo.Add("名前", "VB太郎")
personInfo.Add("年齢", "16才")
 
A=InputBox("何が知りたい?")
MsgBox(personInfo(A))
 
みたいな感じです。
#VBのバージョン不明のためコード例はVB2005以降向けで。
    
Dictionary(VB2005以降)なり、Hashtable(VB2003以前)なりを使って保存しておくと、文字列を使って必要な情報を引き出せます。
Dim personInfo As New Dictionary(Of String, String)
personInfo.Add("名前", "VB太郎")
personInfo.Add("年齢", "16才")
A=InputBox("何が知りたい?")
MsgBox(personInfo(A))
みたいな感じです。
#VBのバージョン不明のためコード例はVB2005以降向けで。
        投稿者 brv(質問者)  ()
        
        投稿日時 
            2008/9/4 06:29:00
        
    
    
        ありがとうございます。参考になりました。 
リフレクションについて勉強したいと思います。
    
リフレクションについて勉強したいと思います。
イメージ…
Dim 名前 As String
Dim 年齢 As String
(中略)
A=InputBox("何が知りたい?")
MsgBox(ChooseHensu(A))
*ChooseHensu関数は文字列で指定した名前の変数の値を取得