MakeList

Sub MakeList()

Dim ws1 As Worksheet, ws2 As Worksheet

Dim i As Long, j As Long, n As Long

Dim v1 As Double, v2 As Double

Dim m1 As Double, m2 As Double

Dim flg As Long, wb As Workbook

Dim flg2 As Long

Dim 閾値 As Double, 違う閾値も計算する As Long


For Each wb In Workbooks

Call GetExcelDataWorkBook(ws1, ws2, wb, flg)

'MsgBox flg

If flg = 2 Then Exit For

Next wb


'ws1 :amc ___ :: Data Sheet

'ws2 :list :: list Sheet


ThisWorkbook.Worksheets("Main").Activate

Application.Goto ThisWorkbook.Worksheets("Main").Range("A10"), True

ThisWorkbook.Worksheets("Main").Range("A10").Value = wb.Name

ThisWorkbook.Worksheets("Main").Range("A11").Value = ws1.Name

ThisWorkbook.Worksheets("Main").Range("A12").Value = ws2.Name



If flg = -1 Then

MsgBox wb.Name

MsgBox ws1.Name

MsgBox ws2.Name

End If


If flg < 2 Then Exit Sub

ws2.Activate

'Set ws1 = Workbooks("20190728-AMC02.xlsx").Worksheets("amc20190728_83")

'Set ws2 = Workbooks("20190728-AMC02.xlsx").Worksheets("list_83")

ws2.Cells.Clear



Application.Calculation = xlCalculationManual

Application.ScreenUpdating = False

i = 10



n = ws1.Cells(i, 1).End(xlDown).Row

If n = Rows.Count Then

MsgBox "なにかおかしい、たぶん(" + ws1.Name + ")の A10が空白。確認してください。"

ws1.Cells(i, 1).Interior.Color = RGB(255, 0, 0)

flg = -100

Exit Sub

End If


flg2 = 1


If チェックボックスの確認("マイナス側のバイアスあり", ws1) = 1 Then flg2 = 2

If チェックボックスの確認("任意の閾値の設定", ws1) = 1 Then

Call 閾値読み込み(ws1, 閾値)

違う閾値も計算する = 0

If 閾値 > 0 And 閾値 < 1 Then 違う閾値も計算する = 1

End If



j = 1



Do

v1 = ws1.Cells(i, 1).Value

v2 = ws1.Cells(i + 1, 1).Value


If Abs(v1) <= 0.0001 And Abs(v2 - 1) <= 0.001 Then

ws2.Range(ws2.Cells(j, 1), ws2.Cells(j, 7)).Value = _

ws1.Range(ws1.Cells(i, 1), ws1.Cells(i, 7)).Value

ws2.Cells(j, 8).Value = i


Call IcAna(i, ws1, m1, m2)


ws2.Cells(j, 9).Value = m1

ws2.Cells(j, 10).Value = m2


Call IcTrap(i, ws1, m1, m2)

ws2.Cells(j, 11).Value = m1

ws2.Cells(j, 12).Value = m2


If flg2 = 2 Then


Call IcAnaMinus(i, ws1, m1, m2)


ws2.Cells(j, 13).Value = m1

ws2.Cells(j, 14).Value = m2


Call IcTrapMinus(i, ws1, m1, m2)

ws2.Cells(j, 15).Value = m1

ws2.Cells(j, 16).Value = m2


End If



j = j + 1



End If


i = i + 1

Loop While i <= n

ThisWorkbook.Worksheets("Main").Range("J1").Value = j - 1

Application.Calculation = xlCalculationAutomatic

Application.ScreenUpdating = True


ThisWorkbook.Worksheets("Main").Activate

Application.Goto ThisWorkbook.Worksheets("Main").Range("A1"), True


End Sub