文字列から への返答
    投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
        投稿者 よね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以降向けで。
        投稿者 るきお  ()
        
        投稿日時 
            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などに書き換える必要があります。
        投稿者 るしぇ  ()
        
        投稿日時 
            2008/9/2 03:57:00
        
    
    
        If A = "名前" Then 
ChooseHensu = 名前
End If
    
ChooseHensu = 名前
End If
        投稿者 brv  ()
        
        投稿日時 
            2008/9/2 03:22:00
        
    
    
        ユーザーが入力した文字列をもとに変数を指定することはできますか? 
イメージ…
 
Dim 名前 As String
Dim 年齢 As String
(中略)
 
A=InputBox("何が知りたい?")
MsgBox(ChooseHensu(A))
 
*ChooseHensu関数は文字列で指定した名前の変数の値を取得
    
イメージ…
Dim 名前 As String
Dim 年齢 As String
(中略)
A=InputBox("何が知りたい?")
MsgBox(ChooseHensu(A))
*ChooseHensu関数は文字列で指定した名前の変数の値を取得
リフレクションについて勉強したいと思います。