Excel VBA質問箱 IV

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

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


42361 / 76732 ←次へ | 前へ→

【39442】Re:条件にあったデータの抽出(他ファイルか...
回答  Kein  - 06/6/24(土) 2:12 -

引用なし
パスワード
   ロジック自体はたいして難しくありませんが、区切り文字を単純にスペース
としてやってみると、LOGONの場合とLOGOFFの場合では全く違った配列が
できてしまったため、以下のようなコードになりました。

Sub Get_MyLog()
  Dim MyDy As String, Buf As String
  Dim Flg As Boolean
  Dim CkAry As Variant, GetAry As Variant
  Dim LgOn As Variant, LgOf As Variant
  Const MyF = "C:\temp\Log.txt" '正確なフルパスに変更すること。
  
  Do
   Flg = False
   MyDy = InputBox("抽出する日付を yyyy/mm/dd 形式で入力して下さい")
   If MyDy = "" Then Exit Sub
   If Len(MyDy) <> 10 Then Flg = True
   If Mid$(MyDy, 5, 1) <> "/" Or Mid$(MyDy, 8, 1) <> "/" Then
     Flg = True
   End If
   CkAry = Split(MyDy, "/")
   If Not IsNumeric(CkAry(0)) Or Not IsNumeric(CkAry(1)) Or _
   Not IsNumeric(CkAry(2)) Then
     Flg = True
   End If
  Loop While Flg = True
  Open MyF For Input Access Read As #1
  Do Until EOF(1)
   Line Input #1, Buf
   GetAry = Split(Buf, Chr(32))
   If GetAry(1) = MyDy Or GetAry(2) = MyDy Then
     If Left$(GetAry(0), 5) = "LOGON" Then
      LgOn = GetAry(UBound(GetAry))
     ElseIf Left$(GetAry(0), 5) = "LOGOF" Then
      LgOf = GetAry(UBound(GetAry))
     End If
   End If
  Loop
  Close #1
  Worksheets("Sheet1").Range("A65536").End(xlUp) _
  .Offset(1).Resize(, 3).Value = Array(MyDy, LgOn, LgOf)
End Sub

5 hits

【39440】条件にあったデータの抽出(他ファイルか... UK 06/6/24(土) 0:52 質問
【39442】Re:条件にあったデータの抽出(他ファイル... Kein 06/6/24(土) 2:12 回答
【39564】Re:条件にあったデータの抽出(他ファイ... UK 06/6/26(月) 20:03 質問
【39568】Re:条件にあったデータの抽出(他ファイ... Kein 06/6/26(月) 22:02 発言
【39572】Re:条件にあったデータの抽出(他ファイ... UK 06/6/26(月) 22:46 質問
【39573】Re:条件にあったデータの抽出(他ファイ... Kein 06/6/26(月) 23:13 回答
【39574】Re:条件にあったデータの抽出(他ファイ... UK 06/6/26(月) 23:38 質問
【39575】Re:条件にあったデータの抽出(他ファイ... Kein 06/6/27(火) 0:01 発言
【39576】Re:条件にあったデータの抽出(他ファイ... UK 06/6/27(火) 0:04 お礼
【39577】Re:条件にあったデータの抽出(他ファイ... Kein 06/6/27(火) 0:08 発言

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