если значение ячейки изменяется, скопируйте только тот столбец, из которого изменилось значение ячейки, на другой лист, но с общим значением в обоих листах - PullRequest
3 голосов
/ 23 мая 2019

У меня есть лист Excel, в который я вставил формулу IF,

, т. Е. =IF(C23='Data Nifty'!$AD$2,"CMP"," ")

использование полученной ранее "CMP", как указано выше, выполняется в другом условии

т.е. =IF(A23="CMP",VLOOKUP($D$3,'Data Nifty'!$N:$Y,7,FALSE)," ")

Теперь проблема в том, что если CMP получает изменения с другим столбцом, тогда значения отклоняются от оригинала, где упоминался более ранний CMP, я хочу убедиться, что после появления CMP значениене изменить.

Я пытался использовать код vba, в котором при изменении значения копировать данные на другой лист, но это не сработало.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.range = "A:A" Then
        Call copy_paste_as_value
    End If
End Sub


Sub copy_paste_as_value()
    Range("A4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C4").Select
    Application.CutCopyMode = False
End Sub

THIS IS HOW

THIS IS HOW DERIVIED CMP IMPACTS ON OTHER CELL'S VALUE

Текущий выпуск: -при изменении cmp с одной цены надругое, значения, упомянутые перед более ранним CMP, становятся 0, и новое значение появляется против нового cmp

(моя цель: -если, когда появляется "CMP", значения, упомянутые перед этим (на картинке выше, т.е. 26, 55,110.35,117,29.35,9) следует оставить как есть, а новые значения также должны появиться перед новым cmp, так что вкратце все значения должны оставаться как есть после получения CMP)

Надеюсь полностью, я объяснил свой запрос до уровня, который можно понять.

Любая помощь будет оценена сердечно.

...