[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データの登録と蓄積』(すち)
はじめまして!初心者です。みなさまのお力をお借りしたいです┏○゛
A,B,Cの種類のものがそれぞれ20個ずつ(No.1~20)あります。
これを使用するたびに登録フォームで登録し、別のブックにデータを蓄積したいのです。
イメージはこんなかんじです。
ABCいずれかチェックか丸ポチで選択
↓
No.を記入
↓
登録ボタンで登録終了
日付も一緒に自動登録
そして、1つを12回使用するたびに通知してもらわなければなりません。
例「12回使用しました」
ちょっとややこしいのですが、どなたかできる方いらっしゃいましたらおしえて下さい。
宜しくお願いしますm(_ _)m
< 使用 Excel:Excel2010、使用 OS:unknown >
(マナ) 2017/10/09(月) 17:51
登録フォーム
今日の日付
○A ○B ○C
□ 登録
□(長方形)は数字を入れるところです
データ蓄積
A B C No. 1 2 3 4… 1 2 3 4… 1 2 3 4… 回数 1日付 2日付
こんな感じにできますでしょうか?
(すち) 2017/10/10(火) 07:20
Sheet1が、
1)オプションボタン3個
2)コマンドボタン1個
3)A3セルに番号を入力(1〜20)
Sheet2が転記先とします。
Private Sub CommandButton1_Click() Dim 番号 As Long Dim 転記先列 As Long Dim 転記先セル As Range
With Range("a3") 番号 = .Value .ClearContents If 番号 < 1 Or 番号 > 20 Then MsgBox "番号が間違っています" .Select Exit Sub End If End With
If OptionButton1.Value = True Then 転記先列 = 2 + 番号 - 1 ElseIf OptionButton2.Value = True Then 転記先列 = 22 + 番号 - 1 Else 転記先列 = 42 + 番号 - 1 End If
Set 転記先セル = Worksheets("Sheet2").Cells(Rows.Count, 転記先列).End(xlUp).Offset(1) 転記先セル.Value = Date If 転記先セル.Row - 2 > 11 Then MsgBox "12回使用しました" Application.Goto 転記先セル
End Sub
(マナ) 2017/10/10(火) 20:20
・Aのデータはシート2、Bのデータはシート3、Cのデータはシート4に
・12回以降ずっと通知されてしまうので12の倍数回のみ表示に
・登録ボタンを押してもシート1の画面のまま
という風に変更、追加できますでしょうか?
申し訳ございませんがよろしくお願いいたしますm(_ _)m
(すち) 2017/10/11(水) 09:37
まずは現在のコードの理解が先だと思います。
(マナ) 2017/10/11(水) 19:20
Sub test() Dim シート名 As String
If OptionButton1.Value = True Then シート名 = "Sheet2" ElseIf OptionButton2.Value = True Then シート名 = "Sheet3" Else シート名 = "Sheet4" End If
MsgBox シート名 & " に転記します"
End Sub
Sub test2() Dim i As Long
For i = 1 To 10 If i Mod 3 = 0 Then MsgBox i & " は3の倍数" End If Next
End Sub
(マナ) 2017/10/12(木) 20:26
マナ様のを参考に書いてみたのですが、どうやら最後の文が間違えているようです。
Private Sub CommandButton1_Click() Dim 番号 As Long Dim 転記先列 As Long Dim 転記先セル As Range Dim シート名 As String
With Range("a3") 番号 = .Value .ClearContents If 番号 < 1 Or 番号 > 20 Then MsgBox "番号が間違っています" .Select Exit Sub End If End With
If OptionButton1.Value = True Then
シート名 = "Sheet2" 転記先列 = 2 + 番号 - 1
ElseIf OptionButton2.Value = True Then シート名 = "Sheet3" 転記先列 = 2 + 番号 - 1 Else シート名 = "Sheet4" 転記先列 = 2 + 番号 - 1 End If
Set 転記先セル = Worksheets(シート名).Cells(Rows.Count, 転記先列).End(xlUp).Offset(1) 転記先セル.Value = Date
If 転記先セル.Row - 2 Mod 3 = 0 Then MsgBox "12回使用しました"
End Sub
初心者なもので基本的なところが間違えているかもしれませんがどうかご教授くださいませm--m
(すち) 2017/10/16(月) 09:58
Sub test3() Dim i As Long
For i = 1 To 10 If i Mod 3 = 0 Then MsgBox i & " は3の倍数" ElseIf i Mod 5 = 0 Then MsgBox i & " は5の倍数" End If Next
End Sub
Sub test4() Dim i As Long
i = 10 MsgBox 2 Mod 3 MsgBox i + 2 Mod 3 MsgBox (i + 2) Mod 3
End Sub
あと、↓は、If〜end ifの外に記述でもよいです(どの条件でも同じ処理なので)。
>転記先列 = 2 + 番号 - 1
(マナ) 2017/10/16(月) 20:34
ありがとうございました!
何とかなりそうです^^
とても勉強になりました。
またご縁がありましたらよろしくお願いいたしますm--m
(すち) 2017/10/17(火) 12:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.