戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
アルコールチェック

    [196037] アルコールチェック-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ mi -(2023/12/07(16:43))
    □U R L/

      連投ですみません。
      この12月からアルコールチェックが始まりました。
      会社からエクセルシートが回ってきて部署にて管理となりました。

      そこで
      A列に名前 C列に日付があります。
      これから毎日チェックですが、名前が登録した順番なので
      誰がまだ登録していなか見るのがちょっと面倒です。
      その日登録してない人をmsboxに出すには何を使えばいいですか?




    [196038] Re[1]: アルコールチェック-

    記事引用/メール受信=OFF■

    □投稿者/ 匿名 -(2023/12/08(10:08))
    □U R L/

      >msboxに出すには何を使えばいいですか?

      Msgbox関数
      又は
      フォームコントロールでメッセージボックスを自作する




    [196039] Re[2]: アルコールチェック-

    記事引用/メール受信=OFF■

    □投稿者/ 特命 -(2023/12/10(14:35))
    □U R L/


      ファイルのフォーマットを変更しましょう!

      名前・日付を縦方向に持たせるのではなく
      名前を縦方向 日付を横方向に持たせるようにしましょう。

      その方が見やすくなります。

        A列  B列  C列
      1 山田      12/10
      2 砂糖      12/10
      3 田中      12/10
      4 砂糖      12/11
      5 山田      12/11

      ではなく

        A列  B列  C列   D列
      1         12/10  12/11
      2 山田      チェック チェック
      3 砂糖      チェック チェック
      4 田中      チェック     

      のような感じで。




    [196040] Re[3]: アルコールチェック-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/12/11(08:45))
    □U R L/
      msboxシートに全員の名前とチェック済み有無の数式を書いて置けば、
      マクロではシートを表示させ、オートフィルターするだけで良いと思います。
      
      その一例です
      
      Const SHNAME = "アルコールチェック"
      Const msbox = "msbox"
      
      Sub test()
          If Not Evaluate("isref(" & SHNAME & "!a1)") Then dataset    'この行不要
          With Worksheets(msbox)
              .Activate
              .Unprotect
              .Range("A:B").AutoFilter 2, "0"
              .Protect AllowFiltering:=True, UserInterfaceOnly:=True  '他の人に弄られないようにするため
          End With
      End Sub
      
      '以下は不要
      Private Sub dataset()
          Dim sh As Worksheet
          Dim n As Long, i As Long
          Dim rng As Range
          
          n = 15
          Set sh = Worksheets.Add
          With sh
              .Name = msbox
              .Range("A1") = "名前"
              For i = 2 To n + 1
                  .Cells(i, 1).Value = Chr(i - 2 + Asc("A")) & "さん"
              Next
          End With
          With Worksheets.Add
              .Name = SHNAME
              For i = 1 To Day(Date)
                  Set rng = .Cells(.Rows.Count, "C").End(xlUp).Offset(1)
                  rng.Resize(n) = "=rand()"
                  sh.Range("a2").Resize(n).Copy rng.Offset(, -2)
                  rng.Offset(-1, -2).Resize(n + 1, 3).Sort rng, xlAscending, Header:=xlYes
                  rng.Resize(n).Value = Month(Date) & "/" & i
                  rng.Offset(WorksheetFunction.RandBetween(n - 5, n), -2).Resize(n, 3).ClearContents
              Next
              rng.Offset(WorksheetFunction.RandBetween(n - 10, n - 5), -2).Resize(n, 3).ClearContents
          End With
          With sh
              .Range("B1").Formula = "=today()"
              .Range("B2").Resize(n).Formula = "=COUNTIFS(" & SHNAME & "!A:A,msbox!A2," & SHNAME & "!C:C,msbox!B$1)"
      '        .Range("A1").CurrentRegion.AutoFilter 2, "0"
              .Protect AllowFiltering:=True, UserInterfaceOnly:=True
          End With
      End Sub
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [196041] Re[4]: アルコールチェック-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ mi -(2023/12/12(13:04))
    □U R L/

      返事が遅くなりましてすみません。
      仕事時間内にて修正していました。

      匿名さん
      見ていただきありがとございました。
      boxに名前を出すのにどのコードを使用すれば
      いいかヒント聞きたかったです。

      特命さん
      見ていただきありがとうございます。
      このフォーマットは会社で決められてるので
      自分では変更できません。
      また法令のアルコールチェックなので朝と夕方あるので
      毎日の事なのでコード又は関数に関するヒントが欲しかったです。


      kazuoさん
      見ていただきありがとうございます。
      またコードを書いていただきありがとうございました。

      ほぼそのまま使わせてもらいました。
      人によって毎日10〜30人も誰が登録していないか
      確認するのが大変でしたので助かりました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G