Excel - Smart View не сохраняет данные в базе данных планирования

  • У меня есть 2 листа Excel (csheet,PBCS), spbcs лист подключен к базе данных планирования с помощью Smart View. Специальная сетка создается в листе spbcs.
  • написанный код VBA для копирования данных из csheet и вставки в spbcs sheet. После копирования я пытаюсь сделать "Обновить", "Отправить данные" в листе spbcs вручную. Скопированные данные не распознаются Smart View и не сохраняются в БД планирования.

Код VBA:

For k = srow1 To lastRow11
If (oppidY <> "") And Cells(k, 4).Value = oppidY Then
    With csheet
        deptString = Cells(k, 4).Offset(0, 1).Value
        deptno = Left(deptString, InStr(deptString, "-") - 1)
        rsname = Cells(k, 4).Offset(0, 4).Value
        desg = Cells(k, 4).Offset(0, 7).Value
        actRate = Cells(k, 4).Offset(0, 11).Value
        subCost = Cells(k, 4).Offset(0, 12).Value
        curr = .Range("H8").Value
        reginStr = deptString & Cells(k, 4).Offset(0, 3).Value
        On Error Resume Next
        region = Application.WorksheetFunction.VLookup(reginStr, searchRange, 2, False)
        entity = Application.WorksheetFunction.VLookup(reginStr, searchRange, 4, False)
        etype = Cells(k, 4).Offset(0, 9).Value
    End With
  pbrow = Sheets("PBCS").Cells(Sheets("PBCS").Rows.Count, "F").End(xlUp).Row + 1
    With datasheet
    .Range("FE" & pbrow) = "P-" & oppidY
    .Range("FF" & pbrow) = "D" & deptno
    .Range("FG" & pbrow) = "R0" & region
    .Range("FH" & pbrow) = etype
    End With


With spbcs
    If oppidY <> "" Then
        .Range("A" & pbrow) = "P-" & oppidY
    End If
    If deptString <> "" Then
        .Range("B" & pbrow) = "D" & deptno
    End If
        .Range("C" & pbrow) = "R0" & region
        .Range("D" & pbrow) = entity
        .Range("F" & pbrow) = part
        .Range("G" & pbrow) = rsname
        .Range("H" & pbrow) = desg
        .Range("I" & pbrow) = actRate
        .Range("J" & pbrow) = subCost
    If subCost <> 0 Then
        .Range("K" & pbrow) = curr
    Else
        .Range("K" & pbrow) = 0
    End If
    .Range("E" & pbrow) = datasheet.Range("FJ" & pbrow).Value
End With
csheet.Range("V" & k & ":" & "DU" & k).Copy
spbcs.Range("L" & pbrow & ":" & "DM" & pbrow).PasteSpecial Paste:=xlPasteValues
End If
    Application.CutCopyMode = False
Next k

0 ответов

Другие вопросы по тегам