[[20121124225236]] 『ユーザーホームで数字を入力』(takumi) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーホームで数字を入力』(takumi)

こんばんわ。宜しくお願い致します。

 ユーザーホームで、0から9までの数字を作りました。
押した数字を、テキストボックスに反映させたいのですが。
1桁であれば、
Private Sub CommandButton1_Click()
    TextBox1.Text = "1"
End Sub
でいいのですが、16桁表示したいのです。
イメージとしては、数位を押したら後ろに増えていく感じです。
環境は、WindowsXP Excel2003です。
宜しくお願いします。              (takumi)

 >数位を押したら後ろに増えていく感じです。

  ちょっとお尋ねします m(__)m

 『数位』を押すとはどういうことですか?

 (半平太) 2012/11/24 23:17

 ドタ勘では、これでいい様な気がするのですが、的外れですか?

 Private Sub CommandButton1_Click()
     TextBox1.Text = TextBox1.Text & "1"
 End Sub

 (半平太) 2012/11/24 23:23

半平太さま
 早急にありがとう御座いました
>数位を押したら後ろに増えていく感じです。
数位←数字の間違いでした。
電卓をイメージして作ったのですが、押しても変わるだけで
途方にくれていましたが、こんなにあっさり回答を頂き、、、
自分は、2時間してやっと入力までだったのに、、、

これって

 16文字の制限をしようと思い
調べたところ、MaxLengthというところを16にすればいいと
思い、16にしたところ、直接入力は16でとまるのですが、
ユーザーホームを使用すると、制限をこえてしまいます
これって、制御することは出来るのでしょうか?
宜しくお願いします。              (takumi)


 たとえば以下のように。
 (0 は CommandButton10 にしている)

 Private Sub CommandButton1_Click()
    AddNum 1
 End Sub
 Private Sub CommandButton2_Click()
    AddNum 2
 End Sub
 Private Sub CommandButton3_Click()
    AddNum 3
 End Sub
   '
   '
   '
 Private Sub CommandButton9_Click()
    AddNum 9
 End Sub
 Private Sub CommandButton10_Click()
    AddNum 0
 End Sub

 Private Sub AddNum(n As Long)
    With TextBox1
        If Len(.Text) > 15 Then
            MsgBox "16桁までしか入力できません"
            Exit Sub
        Else
            .Text = .Text & n
        End If
    End With
 End Sub

 (ぶらっと)

ぶらっとさま

 ありがとう御座います
完璧に動きました。
再度のお願いで申し訳ありません
クリアボタンを新設し
 Private Sub CommandButton11_Click()
    TextBox1.Text = ""
 End Sub
としたのですが、これでは全て消えてしまいます
これって、一文字だけ消すことって
例えば、12345と入力した場合
1234にすることで。
宜しくお願い致します。         (takumi)   

 Private Sub CommandButton11_Click()
    With TextBox1
        If Len(.Text) = 0 Then Exit Sub
        .Text = Left(.Text, Len(.Text) - 1)
    End With
 End Sub

 (ぶらっと)

ぶらっとさま

 検証しました。
完璧に動きました。
こうやって、HNのように
ぶらっときてぶらっと解決内容なんでしょうか?
解るまで解析したいと思います。
感謝いたします。
本当にありがとうございました。   (takumi) 

ぶらっとさま

 申し訳ありません
追記がございました
数字だけではなく、アルファベットも入力する必要が出て来ました。
アルファベットを作成したところ、Byrefが一致しませんと表示されました。
これって回避する方法がありますでしょうか?              
                                    (takumi) 

 Private Sub AddNum(n As Long)
                    ^^^^^^^^^
                        ↑
         ここがLong型整数の引数として指定してありますね。
アルファベットは数値じゃないので受け付けてくれないのです。
アルファベットのボタンは
 
 Private Sub CommandButton10_Click()
    AddNum "a"
 End Sub
 
のようになっていると思うので、
 
 Private Sub AddNum(n As String)
 
のようにしてみてはいかがですか?
(nはnumberのnだと思うから、このままだと紛らわしいかもしれないけど)
 
(みやほりん)

 みやほりんさんからの回答がスタンダード。
 ほかには、

 Private Sub AddNum(n As Variant) としてしまう手も。

 (Variant型は、なんでも受け入れる融通無碍な型)

 (ぶらっと)

大変失礼しました

 みやほりんさんだったんですね
そこままで気が回っていませんでした
ありがとうございました。

 ぶらっとさま
>Variant型は、なんでも受け入れる融通無碍な型
勉強になります

 本当にご教授いただき幸せです。
回答側にはまだまだなれませんが、今後とも
何卒お願い申しあげます。           takumi

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.