Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как обрабатывать вставку новой строки в Excel / 8 сообщений из 8, страница 1 из 1
31.03.2006, 17:10:09
    #33638265
Livesms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
Как обрабатывать вставку новой строки в Excel?

Нужно отлавливать событие вставки новой строки на листе - и заполнять некоторые ее ячейки формулами.

Чтоб избавить юзеров от постоянного копирования формул Ctrl+D - так как в строке не во всех ячейках формулы, и значения из предыдущей строки переносить не нужно (ламеры будут пропускать и оставлять же 100%).
...
Рейтинг: 0 / 0
31.03.2006, 17:29:13
    #33638325
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
Имхо никак
лутше сделать свою кнопку для добавления строк
...
Рейтинг: 0 / 0
31.03.2006, 17:49:10
    #33638384
Livesms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
И что нету события OnRoInsert или т.д. (как в Oracle)

Есть же OnChange
...
Рейтинг: 0 / 0
31.03.2006, 17:55:49
    #33638400
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
всё что есть
...
Рейтинг: 0 / 0
31.03.2006, 18:11:59
    #33638442
Livesms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
Не густо

Тогда прийдется наверно отслеживать изменения в области выделения и перечитывать одну ячейку (основную несущую нагрузку) или отслеживать изменение ее содержания.

Когда в ней или даже области что-то меняют, то заполнять нужные ячейки формулами.
...
Рейтинг: 0 / 0
03.04.2006, 09:05:57
    #33640174
121
121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
Ну, к примеру так.
Ячейки с формулами покрашены,
на листе есть диапазоны, где строки добавлять можно.
Строку, идущую за диапазоном, красим в серый цвет ColorIndex-15.
Option Base 1

Dim CellValue(1 To 2) As Integer
Dim Stz As String
Dim SetlName As String
Dim CellKoord() As Long




Private Sub Worksheet_sELECTIONChange(ByVal Target As Range)

If Range("B" + Trim(CStr(Target.Row))).Interior.ColorIndex = 40 Then


Answ = MsgBox("Õîòèòå äîáàâèòü ñòðîêó?", vbYesNo)
If Answ = vbYes Then
ActiveSheet.Unprotect Password:="92RIhjZ"
Target.Select
Target.EntireRow.Insert
Rows(Trim(CStr(Target.Row - 1)) + ":" + Trim(CStr(Target.Row - 1))).Select
Selection.Locked = False
Selection.FormulaHidden = False


Range("g" + Trim(CStr(Target.Row - 1))).Formula = Replace(expression:=CStr(Range("G" + Trim(CStr(Target.Row - 2))).Formula), Find:=Trim(CStr(CStr(Target.Row - 2))), Replace:=Trim(CStr(CStr(Target.Row))), Start:=1, Count:=-1, compare:=vbTextCompare)
Range("i" + Trim(CStr(Target.Row - 1))).Formula = Replace(expression:=CStr(Range("I" + Trim(CStr(Target.Row - 2))).Formula), Find:=Trim(CStr(CStr(Target.Row - 2))), Replace:=Trim(CStr(CStr(Target.Row))), Start:=1, Count:=-1, compare:=vbTextCompare)
ActiveSheet.Columns("C").Hidden = True
ActiveSheet.Protect Password:="92RIhjZ"
ActiveWorkbook.Protect Structure:=True, Windows:=False


End If
End If
' ActiveSheet.Columns("C").Hidden = True
ActiveSheet.Protect Password:="92RIhjZ"
ActiveWorkbook.Protect

End Sub
...
Рейтинг: 0 / 0
03.04.2006, 09:12:12
    #33640184
Livesms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
121Ну, к примеру так.
Ячейки с формулами покрашены,
на листе есть диапазоны, где строки добавлять можно.
Строку, идущую за диапазоном, красим в серый цвет ColorIndex-15.
Option Base 1

Dim CellValue(1 To 2) As Integer
Dim Stz As String
Dim SetlName As String
Dim CellKoord() As Long




Private Sub Worksheet_sELECTIONChange(ByVal Target As Range)

If Range("B" + Trim(CStr(Target.Row))).Interior.ColorIndex = 40 Then


Answ = MsgBox("Õîòèòå äîáàâèòü ñòðîêó?", vbYesNo)
If Answ = vbYes Then
ActiveSheet.Unprotect Password:="92RIhjZ"
Target.Select
Target.EntireRow.Insert
Rows(Trim(CStr(Target.Row - 1)) + ":" + Trim(CStr(Target.Row - 1))).Select
Selection.Locked = False
Selection.FormulaHidden = False


Range("g" + Trim(CStr(Target.Row - 1))).Formula = Replace(expression:=CStr(Range("G" + Trim(CStr(Target.Row - 2))).Formula), Find:=Trim(CStr(CStr(Target.Row - 2))), Replace:=Trim(CStr(CStr(Target.Row))), Start:=1, Count:=-1, compare:=vbTextCompare)
Range("i" + Trim(CStr(Target.Row - 1))).Formula = Replace(expression:=CStr(Range("I" + Trim(CStr(Target.Row - 2))).Formula), Find:=Trim(CStr(CStr(Target.Row - 2))), Replace:=Trim(CStr(CStr(Target.Row))), Start:=1, Count:=-1, compare:=vbTextCompare)
ActiveSheet.Columns("C").Hidden = True
ActiveSheet.Protect Password:="92RIhjZ"
ActiveWorkbook.Protect Structure:=True, Windows:=False


End If
End If
' ActiveSheet.Columns("C").Hidden = True
ActiveSheet.Protect Password:="92RIhjZ"
ActiveWorkbook.Protect

End Sub

Я пока в макросах не силен чтоб сразу понять все строки.
Поэтому можно пару коментариев :)
...
Рейтинг: 0 / 0
04.04.2006, 09:03:59
    #33642497
121
121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обрабатывать вставку новой строки в Excel
Файл прикладываю, посмотрите.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как обрабатывать вставку новой строки в Excel / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]