|
かみちゃん さん、ありがとうございます。
昨日、かみちゃんさんからお教えいただいたものを活用して、
strRow = Me.TextBox1
MsgBox Range(strRow).Rows.Count
と、することで、テキストボックス1にA1:A100と範囲を打ち込んで、メッセージボックスに99と選択した行の数値が出るようにはなったのですが、その数値をモジュール内のsigma = Std * Sqr()という式の入れ込む方法で今は悩んでいる状況です。
以下は、先ほどのかみちゃんさんからの返答に答えたものですが、
Private Sub CommandButton1_Click()
'〜省略〜
Unload UserForm1 ' Meで指定されているフォームとUserForm1は異なるフォームですか? A:フォーム一緒のものです。
With Me.TextBox1
strRow = Me.TextBox1
If .Value = "Range(strRow).Rows.Count" Then Exit Sub
'〜省略〜
↑
" "で囲っているので、「Range(strRow).Rows.Count」という文字列とTextBox1の値を比較しています。
しかし、
If .Value = Range(strRow).Rows.Count Then Exit Sub
としたとしても、Me.TextBox1.Value は、セル範囲を示す文字列、
Range(strRow).Rows.Count は、そのセル範囲の行数を返しますので、
必ず一致することはないと思います。←keinさんから教わったものを使ってみたの ですが、使用しないほうがいいのでしょう か?
モジュールは、
Sub Calculate(DataRange As String, OutputRangeA As String, OutputRangeB As String)
Dim Std As Single, sigma As Single
Dim RanData As Range
'〜省略〜
Call Output(Std) ← 何の処理かわかりませんが・・・
A:ユーザーフォームに値が出る場所が2つあり、これはOutputRangeAからTextBox2に標準偏差の値を出す処理です。
sigma = Std * Sqr(Mynum) ←Mynumという変数は、宣言されていません。
すいません。変数を宣言するのを忘れておりました。
何分、VBA初心者なもので、ご足労おかけいたしますが、どうぞよろしくお願いします。
|
|