Private Sub Worksheet_Change(ByVal Target As Range)
For Each t In Target
If t.Column = 1 And t.Value = "" Then
Range("H" & t.Row).ClearContents
Range("Q" & t.Row).ClearContents
End If
Next t
End Sub
=ЛЕВСИМВ(C6;ПОИСК("№";C6)-1)
=ПРАВСИМВ(C6;ДЛСТР(C6)-ПОИСК("№";C6))
=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1))&" "&ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)
или
=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1))&" "&ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)&"."
Public Function GetListElement(CellText As String, num As Long) As String
Elements = Split(CellText, ";")
GetListElement = Elements(num - 1)
End Function
=GetListElement(A1;2)
Set JSON = ParseJson(Sheets(X).Cells(Y,Z).Text)
Set JSON = ParseJson(http.responseText)
Cells(1,2)
является ячейкой B1. Для смещения относительно какой-то ячейки используйте метод offset
у объектов cells и range. Например, Cells(1,2).offset(0,-1)
будет ячейкой A1. Для присвоения значений есть разные параметры - Value(я им пользуюсь чаще всего), Text, Formula. Почитайте хелп по каждому из них. Найдете оптимальное для себя решение. Cells(1,2).offset(0,-1).value=1
Cells(1,2).value=2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("B1:B1000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
X = 5
Y = 1
If Cells(Y, X).Value = "" Then Cells(Y, X).Value = 0
On Error GoTo here
If Target.Value <> "" Then
answer = MsgBox("Increment?", vbYesNo + vbQuestion, "Empty Sheet")
If answer = vbYes Then Target.Offset(0, -1).Value = Cells(Y, X).Value + 1
If answer = vbYes Then Cells(Y, X).Value = Cells(Y, X).Value + 1
Else
Target.Offset(0, -1).Value = ""
End If
here:
Debug.Print Err
End If
End Sub