[[20100526114510]] 『ボタン押して数字を増減させたい』(結構仮面) ページの最後に飛ぶ

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

 

『ボタン押して数字を増減させたい』(結構仮面)
 こんにちわ。結構仮面です。

 ボタンを押すとあるセルに入っている整数(基本、負の数はありえません)が
 一ずつ増えたり減ったりするボタンがほしいです。
 ボタンは二つで、内訳:一つは増える・一つは減る です。
 すみません。よろしくお願いします。

 1 増減させたいセルはNO1(N1とO1が結合されています。)
 2 数字が入っていないときは押しても何も起こらない(エラーも吐き出さない)
 3 もし増減の際に負の数字になったら「-1」とかマイナスがつくようにしたい。

 条件は以上です。
 ご指導よろしくお願いします。

 [エクセルのバージョン]
 Excel2002

 [OSのバージョン]
 WindowsXP

 ここは無料でマクロを作成してもらうところなのですか?(うさぎ)

 スピンボタンを試してみるとか(のあ)

 うさぎさん、いじめないでください!!!初心者なのです!!!11!!1!!!!
 というのはだめだけど(さすがにこんな恥知らずな事言いたくない(苦笑))、
 でもそんなきつい言い方しなくても::少し悲しかったです。
 ボタン作成はできるんですが、中身をどうしたらよいか解らないんです。
 しかもセル結合してるし…。
 何か知っていましたら教えてください。

 のあさん、ボタンだけはなんとか作れました。後は中身なのです。
 何か知っていましたらご指導ください。よろしくお願いします。

 (結構仮面)

別にきつい言い方をしたつもりはないのですが・・・
(もちろん、いじめているつもりもありません)

でも、自分で探して作るもの勉強だと思います。
少しでも自分でモジュールを書いてみないと
いつまでたっても上達しないですよ。

全文検索はしてみましたか?

(うさぎ)


セル(A1)で増減させる場合ですが・・・
 各ボタンにセットします。

==============================

 Sub 増やす_Click()

 Dim r As Integer
 r = Range("A1").Value
 Range("A1").Value = r + 1

End Sub

==============================

 Sub 減らす_Click()

 Dim r As Integer
 r = Range("A1").Value
 Range("A1").Value = r - 1

End Sub

 どうかな〜(^o^)/

(黒バラ)


 うさぎさん。すみません言い過ぎました;;

 Private Sub CommandButton1500_Click()
     Range("N1:O1").Select
     Selection.ClearContents
 End Sub

 ボタン作成と 
 結構仮面がわかるところはこんな感じです

 多分結構仮面が一番苦手な代入とかだと思うんです。
 数字から1引くとか1足すとか…。

 何をどう検索すればよいですか?

 (結構仮面)

 黒バラさん、教えてくれてありがとうです。
 でも使うのはもう少し待ちます。
 まず黒バラさんが教えてくれた内容を理解してからにします。
 そこで結構仮面なりに分析してみたので読んで上げて下さい。

 ============================== 
  Sub 増やす_Click()

  Dim r As Integer
  r = Range("A1").Value
  Range("A1").Value = r + 1
 End Sub 
 ============================== 

 「r」というのが数字が入るべき場所をさしているんですよね?
 たとえば今2がA1に入ってたらそれはA1だと。
 んで????
  Range("A1").Value = r + 1
 これがボタンを押した時の動き…ですよね? 多分。
 r+1ってことはこの場合は、2+1=3でOKなんですよね?
 でもでもどうして
  Range("A1").Value = r + 1
 がボタンを押した時の動きになるんでしょうか?
 素人考えですが、何か
  botan_Click go
 とかそういう言葉って要らないんですか?

 良かったらご指導ください。

結構仮面さんへ

 私もまだまだ勉強中です。
 一緒にがんばりましょう。

 検索は「増減」とか、かな?
 とりあえず、(うさぎ)さんのモジュールを見て、私も作ってみました。

 N1とO1が結合していると、セルはN1指定でいいかと思いますが・・・

 -------------------------
 Sub 増やす_Click()

 Dim r As Integer
  r = Range("N1").Value

   If Range("N1").Value = "" Then  ’空白だったら何もしない
        Range("N1").Value = ""
   Else               ’数字が入っていたら増える
        Range("N1").Value = r + 1
   End If

End Sub

 -------------------------
Sub 減らす_Click()

 Dim r As Integer
  r = Range("N1").Value

    If Range("N1").Value = "" Then  ’空白だったら何もしない
        Range("N1").Value = ""
    Else               ’数字が入っていたら減る
        Range("N1").Value = r - 1
    End If

End Sub

(うさぎ)


「r」は変数といいます。
ここにA1セルの数字を格納していると思ってください。

 だから、A1に「2」が入っていたら、r=2になるので、
 ボタンをクリックすると、1が足されます。
 これが 「Range("A1").Value = r + 1」です。
 Range("A1").Valueを「A1セルの値は」と読むといいかも?

 「Sub 増やす_Click()」で、ボタンを押したときの動きを指示していると考えてください。
 それ以下の式がボタンを押したときの動きの内容です。

つたない説明ですみません。わかるかな?

(黒バラ)


 うさぎさん、優しい言葉ありがとうございます。

 ウサギさんの書いたモウジュールと黒バラさんの書いたモウジュール、
 なんとなくですが共通しているのは解ります。

 やはり数字が入力されるところを「r」というのを使って表しているんですね?
  r = Range("N1").Value N1は固定ではないと。
 これから先、何か数字を入れるべき場所を決めるときは上記の書き方でOKですね!
 これは覚えられました!ありがとうございます。

 しかし困りました。
 真ん中のifとかElseとかなんですか?
 なんだかよくわかりませんが何となくですが
 空白だったときのことをして頂いているんだと思いますが…。
 良かったらアドバイスを頂きたいです。

 あ、その前に増減で検索かけてみます。
 ついでにifとかElseとかも検索かけてみます。

 (結構仮面)

 黒バラさんやっとわかりました!
 題名だと持ってた Sub 増やす_Click()って
 既に動くよって意味だったんですね!
 VBAって深いですね;;
 でも絶対ものにして見せます!
 丁寧で優しい回答ありがとうございました!

 さ!残るはうさぎさんの分だけです!
 これをクリアできればきっとも変数使うVBAは
 完璧に使いこなせる事間違い無しになるのです!
 がんばります!

 (結構仮面)

結構仮面さんへ

 N1は今回の入力したいセルの位置(セル番地)を示しています。
 数字を入れるセルを決めたら、そのセル番地を記入してみてください。

 Ifはご推察の通り、「もし、セルN1が空白だったら」、「N1は空白のまま」
 Else「それ以外なら(つまり、空白以外)」、 「rに1を足しましょう(減らしましょう)」
 という意味です。

 If構文はEnd Ifが締めの言葉で最後に必ず書きます。
 関数も同じように使うから、Ifはわかりやすいと思います。

 結構仮面さんの「がんばります!」宣言、思わず笑顔になりました。
 私もがんばろうっと!

 追伸
 モウジュールじゃなくてモジュールですよ(^^;
 牛さんみたい?(笑)

(うさぎ)


http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/index.html
 ご参考まで。
 他にもVBAを説明してくれているサイトはたくさんあります。

 私は「モーグ」もよく参考にさせていただいてます。
http://www.moug.net/index.html

(黒バラ)


 うさぎさん、黒バラさん
 昨日はいろいろありがとうございました。
 あのあと会議が連続しちゃっててこちらにお礼の書き込みできませんでした。
 大変遅くなってごめんなさい。
 ifの関係はなんとなくわかりました!
 これからも精進しつつがんばっていきたいと思います。

 ほんとうにありがとうございました。

 (結構仮面)

コメント返信:

[ 一覧(最新更新順) ]


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