Excel VBA質問箱 IV

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

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


53343 / 76732 ←次へ | 前へ→

【28205】Re:教えてください
発言  りん E-MAIL  - 05/8/30(火) 21:15 -

引用なし
パスワード
   たかし さん、こんばんわ。

>A1にはそのファイルの作成日が入力されるようになっています。
>そこで、シート1・2・3の数値を使用して計算し、結果をシート8のセルA2から
>セルP2に貼り付けるマクロを作成しています。
>作成されていたマクロを参考に作っては見たのですが、うまくいきません。
 もともと完成された分岐(すべて無事に振り分けられている)だったのだとしたら、その下に分岐をつけてもそこを経由することはないはずですよね。

ざっとみただけですが。

>
>Sub macsens取込(inputmode As Integer)
>  Dim fp As Variant
>  Dim fso As Object, fnow As Object
>  Dim temp As Variant
>  Dim temptime1, temptime2
>  Dim i As Integer, j
>  Dim rowcount
>  
>  Const ForReading = 1, ForWriting = 2, ForAppending = 8
>  fp = Application.GetOpenFilename(MultiSelect:=True, _
>      Title:=" ログファイルを選択して下さい(CtrlやShiftキーを使って複数選択可)")
>    If Not IsArray(fp) Then
>      MsgBox ("処理を中止します")
>      Exit Sub
>    End If
>    
>  Set fso = CreateObject("Scripting.FileSystemObject")
>  UserForm2.Show vbModeless
>  DoEvents
>  
>  If inputmode = 0 Then
>    rowcount = 0
>  Else
>    rowcount = Sheets(1).Range("A65536").End(xlUp).Row - 1
>  End If
>  
>  For i = 1 To UBound(fp)
>    Set fnow = fso.OpenTextFile(fp(i), ForReading)
>    Do While fnow.AtEndOfStream <> True
>      temp = Split(Replace(fnow.ReadLine, "=", ","), ",")      >      If temp(0) Like "*DATE*" Then
>        temptime1 = DateSerial(temp(1), temp(2), temp(3))
>        rowcount = rowcount + 1
>        DoEvents
>      ElseIf temp(0) Like "*TIME*" Then
>        temptime2 = TimeSerial(temp(1), temp(2), temp(3))
>      ElseIf temp(0) Like "*ORGB*" Then
>        Sheets(1).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(1).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*ORGP*" Then
>        Sheets(2).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(2).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*OFF3*" Then
>        Sheets(3).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(3).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*POST*" Then
>        Sheets(4).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(4).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*OFF4*" Then
>        Sheets(5).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(5).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*PRID*" Then
>        Sheets(6).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(6).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf temp(0) Like "*SOPC*" Then
>        Sheets(7).Cells(rowcount + 1, 1) = temptime1 + temptime2
>        For j = 1 To UBound(temp)
>          Sheets(7).Cells(rowcount + 1, j + 1) = temp(j)
>        Next j
>      ElseIf Sheets(1).Cells(rowcount + 1, 1) <> "" Then
        ここにメッセージボックスを入れてみてください。
        今まで無事に処理が流れていたのだとしたら、一度も表示されないと思います。
>        Sheets(8).Cells(rowcount + 1, 1) = Sheets(1).Cells_           (rowcount, 1)
>        For j = 1 To UBound(temp)
>          Worksheets("データ").Cells(rowcount + 1, j + 1) = _
>           (Worksheets("ORGP")!RC - Worksheets("ORGB")!RC + _
>           Worksheets("OFF3")!RC) * 1000000000
>        Next j
>      End If

      tempを使っているところをみたら、書くとしたらここでしょうか? 
        Sheets(8).Cells(rowcount + 1, 1) = Sheets(1).Cells_           (rowcount, 1)
        For j = 1 To UBound(temp)
          Worksheets("データ").Cells(rowcount + 1, j + 1) = _
           (Worksheets("ORGP")!RC - Worksheets("ORGB")!RC + _
           Worksheets("OFF3")!RC) * 1000000000
        Next j
>    Loop

>    fnow.Close
>    Set fnow = Nothing
>    Call Display_MyProgressBar(i, UBound(fp))
>    DoEvents
>  Next i
>  Unload UserForm2
>
>End Sub

1 hits

【28186】教えてください たかし 05/8/30(火) 16:10 質問
【28205】Re:教えてください りん 05/8/30(火) 21:15 発言
【28220】Re:教えてください たかし 05/8/31(水) 14:59 お礼

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