Как добавить в ячейку фиксированную текущую дату? Чтоб когда заполнял одну ячейку, во второй заполнялась дата. Создаю документ для оплаты квитанций квартиры
Как добавить в ячейку фиксированную текущую дату? Чтоб когда заполнял одну ячейку, во второй заполнялась дата. Создаю документ для оплаты квитанций квартирыmrkanevav
mrkanevav, Если для вас макросы пока сложны, то можно и без них, выделить эту "вторую" ячейку и нажать Ctrl+Shift+4, будет зафиксирована текущая дата. (Четверка в верхнем ряду клавиатуры)
mrkanevav, Если для вас макросы пока сложны, то можно и без них, выделить эту "вторую" ячейку и нажать Ctrl+Shift+4, будет зафиксирована текущая дата. (Четверка в верхнем ряду клавиатуры)i691198
Здесь обычно по фоткам не лечат. Я сам в VBA вообще ни, как. Попался на просторах Interneta код от Николая Павлова. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target If Not Intersect(cell, Range("B5:B10,B15:B20,B25:B30,B35:B40,G5:G10,G15:G20,G25:G30,G35:G40,L5:L10,L15:L20,L25:L30,L35:L40")) Is Nothing Then With cell.Offset(0, 2) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
[/vba] Попробовал подогнать под ваш пример. Вроде работает.
Здесь обычно по фоткам не лечат. Я сам в VBA вообще ни, как. Попался на просторах Interneta код от Николая Павлова. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target If Not Intersect(cell, Range("B5:B10,B15:B20,B25:B30,B35:B40,G5:G10,G15:G20,G25:G30,G35:G40,L5:L10,L15:L20,L25:L30,L35:L40")) Is Nothing Then With cell.Offset(0, 2) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
[/vba] Попробовал подогнать под ваш пример. Вроде работает.DrMini
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub Application.EnableEvents = False If Not Intersect(Range("B5:B10,B15:B20,B25:B30,B35:B40,G5:G10,G15:G20,G25:G30,G35:G40,L5:L10,L15:L20,L25:L30,L35:L40"), Target) Is Nothing Then If Target > 0 Then Target.Offset(, 2) = Date If Target = "" Then Target.Offset(, 2) = "" End If Application.EnableEvents = True End Sub
[/vba] Дата появляется не по любому изменению в ячейке столбца "К уплате", а только если ввести число больше 0. Когда удаляем данные из столбца "К уплате" в столбце "Дата" данные обнуляются. Выберите, какой вам вариант предпочтительнее.
Ну, и ещё Вариант2 [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub Application.EnableEvents = False If Not Intersect(Range("B5:B10,B15:B20,B25:B30,B35:B40,G5:G10,G15:G20,G25:G30,G35:G40,L5:L10,L15:L20,L25:L30,L35:L40"), Target) Is Nothing Then If Target > 0 Then Target.Offset(, 2) = Date If Target = "" Then Target.Offset(, 2) = "" End If Application.EnableEvents = True End Sub
[/vba] Дата появляется не по любому изменению в ячейке столбца "К уплате", а только если ввести число больше 0. Когда удаляем данные из столбца "К уплате" в столбце "Дата" данные обнуляются. Выберите, какой вам вариант предпочтительнее.DrMini