Как идентифицировать данные таблицы, используя объединенные ячейки? - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь интерполировать значение в таблице.Однако, поскольку ячейки моего столбца объединены вместе, мой код не будет читать значения.До сих пор всякий раз, когда я удаляю эти столбцы, он работает совершенно нормально и дает мне значение, которое я хочу.Как интегрировать объединенные ячейки в качестве матриц?

Sub brent ()

Dim i As Integer, j As Integer
Dim P As Single, P1 As Single, P2 As Single
Dim M As Single, M1 As Single, M2 As Single
Dim inputmat()

nrow = 29
ncol = 2

P = Range("Axial").Value

ReDim inputmat(nrow, ncol)

For i = 1 To nrow
    For j = 1 To ncol
    inputmat(i, j) = Cells(5 + i, 6 + j)
    Next j
Next i
If (P > inputmat(1, 1)) Or (P < inputmat(nrow, 1)) Then Range("PM").Value = 
"NG"
Else
    For i = 1 To nrow - 1
       If (P <= inputmat(i, 1)) And (P >= inputmat(i + 1, 1)) Then
          P1 = inputmat(i, 1)
          P2 = inputmat(i + 1, 1)
          M1 = inputmat(i, 2)
          M2 = inputmat(i + 1, 2)
      End If
Next i

For i = 1 To nrow

M = M1 + (P - P1) * (M2 - M1) / (P2 - P1)

Next i

Range("PM").Value = M
End If

End Sub

Я знаю, что существует проблема с «input (i, j) = ячейками (5 + i»)., 6 + j) "Есть ли способ прочитать этот черный столбец между объединенными ячейками?

1 Ответ

0 голосов
/ 15 ноября 2018

enter image description here

Sub FindMergedCells()

    Dim tbl As Range, cll As Range
    Dim i As Integer

    i = 1
    Set tbl = Range("A1:E4")

    For Each cll In tbl
        If cll.MergeCells Then
            Cells(i, 7) = "Cell " & cll.Address & " is merged"

            i = i + 1
        End If
    Next

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...