Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7234 / 13645 ツリー ←次へ | 前へ→

【40387】ユーザーフォームのボタンクリック処理について shikama 06/7/13(木) 9:22 質問[未読]
【40388】Re:ユーザーフォームのボタンクリック処理... Statis 06/7/13(木) 9:42 回答[未読]
【40391】Re:ユーザーフォームのボタンクリック処理... shikama 06/7/13(木) 9:53 発言[未読]
【40393】Re:ユーザーフォームのボタンクリック処理... Statis 06/7/13(木) 10:08 回答[未読]
【40395】Re:ユーザーフォームのボタンクリック処理... shikama 06/7/13(木) 10:40 お礼[未読]
【40396】Re:ユーザーフォームのボタンクリック処理... Statis 06/7/13(木) 10:47 回答[未読]
【40399】Re:ユーザーフォームのボタンクリック処理... shikama 06/7/13(木) 11:08 お礼[未読]
【40392】Re:ユーザーフォームのボタンクリック処... neptune 06/7/13(木) 10:01 回答[未読]
【40394】Re:ユーザーフォームのボタンクリック処... shikama 06/7/13(木) 10:28 お礼[未読]

【40387】ユーザーフォームのボタンクリック処理に...
質問  shikama  - 06/7/13(木) 9:22 -

引用なし
パスワード
   はじめまして
当方 VBA初心者であります。
大変 基本的な質問なのですが、ユーザーフォームで作ったボタンに

クリックした数がシート1のセルA3にプラス1ずつ増えていく命令が書けません。簡単すぎるせいか、わたしがやろうとしていることがVBAでは見当違いなのかもわかりません。どなたかご存知の方がいらっしゃったらご教授お願いいたします。

それと
ボタンに「シート1を改行する」命令を教えていただけたら幸いです。

ぶしつけな質問かと思いますが、インターネットで質問するのも初心者でありますので、皆様のご機嫌を損ねるような質問や文章でしたら深くお詫びいたしますので、是非、ご解答をお持ちの先輩方にご教授をお願い致します。

【40388】Re:ユーザーフォームのボタンクリック処...
回答  Statis  - 06/7/13(木) 9:42 -

引用なし
パスワード
   こんにちは

こんな感じです。(アクティブシートが対象です)
尚、フォームを開いたときにセルA3の値をクリアする事が必要かと

Private Sub CommandButton1_Click()
Range("A3").Value = Range("A3").Value + 1
End Sub

>ボタンに「シート1を改行する」命令を教えていただけたら幸いです。
シート1を改行て何ですか?

【40391】Re:ユーザーフォームのボタンクリック処...
発言  shikama  - 06/7/13(木) 9:53 -

引用なし
パスワード
   ありがとうございます。

実は、カウンタを作ろうとしています。「アウト」と「イン」のボタンを作成し、押すごとに数を加算していきます。
シート1のA1に選手の名前が入っているので、選手1の「アウト」と「イン」の練習が終わったら、選手2の練習をするのでB1の選手の名前が入っていて、改行のボタンを押すと、B2に「アウト」の数、B3に「イン」の数を入力できるように改行していくというものです。19人分の選手のデータを作ろうとしていますが、VBAでできると聞いていろいろ見てみたのですが、ちんぷんかんぷんの状態なのです。私の説明で、わかりますでしょうか?
説明不足で申し訳ありません。

【40392】Re:ユーザーフォームのボタンクリック処...
回答  neptune  - 06/7/13(木) 10:01 -

引用なし
パスワード
   ▼shikama さん:
こんにちは
>ぶしつけな質問かと思いますが、インターネットで質問するのも初心者
とあるので、shikama さんの今後の為に少しきつめに書きますが、堪忍してください。
ちょっと毛色は違いますが、ここに書いている事を参考にして損はありません。
http://www.hyuki.com/writing/techask.html

>当方 VBA初心者であります。
これは始めてどれくらいたつのか書いた方が分かりやすいです。
特に「VBA初心者」というのは、それでは他言語の経験があるのかないのかわかりません。
それに初心者を振りかざす人もいますので(私はそういうのにはResしません)

>大変 基本的な質問なのですが、ユーザーフォームで作ったボタンに
>クリックした数がシート1のセルA3にプラス1ずつ増えていく命令が書けません。簡単すぎるせいか、わたしがやろうとしていることがVBAでは見当違いなのかもわかりません。

本題ですが、ユーザーフォームで作ったボタンのClickイベントプロシージャ内に
worksheets("シート1").range("A3").value=worksheets("シート1").range("A3").value+1
と言うコードを書く事になります。(動作確認はご自分で)

>どなたかご存知の方がいらっしゃったらご教授お願いいたします。
↑これは想像が付いても確信のない方はアドバイスを避けるかもしれません。
これも止めたほうが良いです。

>それと
>ボタンに「シート1を改行する」命令を教えていただけたら幸いです。
確かセル内の改行記号はVBAではvblfだったと思います。(記憶だけです)


最後にもう一言、一番キツイかも知れませんが、今後の為に。
この質問は他言語も含め尤も基本的な内容です。
これが分からないと言うことは全く勉強していない状態であると思われ、
恐らくアドバイスしてもそれすら理解できない可能性があります。

尤も初心者向けの参考書で良いから1冊読破する事をお勧めします。
その後なら、皆さんからのアドバイスも理解しやすいと思います。

多分お気を悪くされたと思いますが、悪気はありません。
これで挫けないで下さいね。
みんな初心者の時代はありますから、ここが頑張り所です。

【40393】Re:ユーザーフォームのボタンクリック処...
回答  Statis  - 06/7/13(木) 10:08 -

引用なし
パスワード
   こんにちは

ボタンが3つあると言う事ですべてフォームのモジュールにて

Dim Co As Long
Private Sub CommandButton1_Click() 'アウト
Cells(2, Co).Value = Cells(2, Co).Value + 1
End Sub

Private Sub CommandButton2_Click() 'イン
Cells(3, Co).Value = Cells(3, Co).Value + 1
End Sub

Private Sub CommandButton3_Click() '改行
If Co = 20 Then Co = 1
Co = Co + 1
End Sub

Private Sub UserForm_Initialize()
Co = 1
End Sub


フォームを開いた時に各アウト、インのセルの値のクリアは必要ないのですか?

【40394】Re:ユーザーフォームのボタンクリック処...
お礼  shikama  - 06/7/13(木) 10:28 -

引用なし
パスワード
   neptuneさん 大変詳しく教えていただきありがとうございます。
ご指摘のとおり、参考書を買ってはみたものの、ユーザーフォームの項目だけを見ても、わからないわけですよね。自分がやりたいことが先走りすぎて、VBAというものが何かをわからないまま、質問してしまいました。でもこれで わたしもたいへん敷居が高いと思っていたVBAを勉強するための第一歩になりました。
ありがとうございました。
今後は、まだまだ初心者の域から脱出できずとも、もう少し、具体的な内容で質問させて頂きたいと思います。
 本サイトの皆様に深く感謝いたします。

【40395】Re:ユーザーフォームのボタンクリック処...
お礼  shikama  - 06/7/13(木) 10:40 -

引用なし
パスワード
   Statisさん 本当にありがとうございます。
初心者も初心者の私に 本当にありがとうございます。
プログラムのプの字もわからないため、確かに数値をクリアしないと改行しても1からカウントしないですね。
 本当にわがままな要望なのですが、クリア方法を教えていただければ たいへん助かります。あとは自分で少しでもVBAを勉強していきます。
 本サイトの皆様に 質問の仕方や、マナーを教えていただき、さらに私の質問に回答を頂いたことに心から感謝いたします。
 ありがとうございました。

【40396】Re:ユーザーフォームのボタンクリック処...
回答  Statis  - 06/7/13(木) 10:47 -

引用なし
パスワード
   こんにちは

では改行した(カウントするセル)とこのセルをクリアすると言う事で良いですか?
訂正も含めて

Private Sub CommandButton3_Click() '改行
If Co = 19 Then
  Co = 1
Else
  Co = Co + 1
End if
Cells(2,Co).Resize(2).ClearContents
End Sub

【40399】Re:ユーザーフォームのボタンクリック処...
お礼  shikama  - 06/7/13(木) 11:08 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>
>では改行した(カウントするセル)とこのセルをクリアすると言う事で良いですか?
>訂正も含めて
>
>Private Sub CommandButton3_Click() '改行
>If Co = 19 Then
>  Co = 1
>Else
>  Co = Co + 1
>End if
>Cells(2,Co).Resize(2).ClearContents
>End Sub

誤解をまねいてすいません。
前述の
Private Sub UserForm_Initialize()
Co = 1
End Sub
のとおりです。たいへんありがとうございました。

7234 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free