приветствую. Есть необходимость заполнить файл, в котором нужно вставлять текст, но в каждой последующей ячейке добавлять в место последней цифры на единицу больше. Формат текста такой - "AA1.1" первыми две буквы Латиницей, после число одно-двухзначное и через точку еще число одно-двухзначное. Есть нужда скопировать значение в ячейке при двойном клике на другой ячейке и вставлять в нее скопированное с форматом предыдущей ячейки, но на единицу больше (после точки или после букв, т.е видимо нужно использовать два разных макроса) Если в ячейке есть данные, то они затираются новыми данными
приветствую. Есть необходимость заполнить файл, в котором нужно вставлять текст, но в каждой последующей ячейке добавлять в место последней цифры на единицу больше. Формат текста такой - "AA1.1" первыми две буквы Латиницей, после число одно-двухзначное и через точку еще число одно-двухзначное. Есть нужда скопировать значение в ячейке при двойном клике на другой ячейке и вставлять в нее скопированное с форматом предыдущей ячейки, но на единицу больше (после точки или после букв, т.е видимо нужно использовать два разных макроса) Если в ячейке есть данные, то они затираются новыми даннымиovechkin1973
В первом приближении как-то так, без объединенных ячеек. И ещё непонятно, зачем столько пустых строк в ячейке, можно же просто выровнять по верхнему краю
В первом приближении как-то так, без объединенных ячеек. И ещё непонятно, зачем столько пустых строк в ячейке, можно же просто выровнять по верхнему краюPelena
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Count > 1 Then Exit Sub If Target.Column < 2 Then Exit Sub
Cancel = True Dim i&, rw&, sp
rw = Target.Row For i = Target.Column - 1 To 2 Step -1 If Len(Cells(rw, i)) Then Cells(rw, i).MergeArea.Copy Target sp = Split(Cells(rw, i).Value, ".") Target.Value = sp(0) & "." & sp(1) + 1 Exit For End If Next i End Sub
[/vba]
Почти то же самое: [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Count > 1 Then Exit Sub If Target.Column < 2 Then Exit Sub
Cancel = True Dim i&, rw&, sp
rw = Target.Row For i = Target.Column - 1 To 2 Step -1 If Len(Cells(rw, i)) Then Cells(rw, i).MergeArea.Copy Target sp = Split(Cells(rw, i).Value, ".") Target.Value = sp(0) & "." & sp(1) + 1 Exit For End If Next i End Sub
И ещё непонятно, зачем столько пустых строк в ячейке, можно же просто выровнять по верхнему краю
Пардон, так получилось.. И лень не всегда двигатель прогресса, хотя вроде не ленился, но нужно было сразу свой файл выложить.. точнее его маленькую часть. С красной ячейки копирую вставляю в желтые.. (цвета для понимания сделал).
И ещё непонятно, зачем столько пустых строк в ячейке, можно же просто выровнять по верхнему краю
Пардон, так получилось.. И лень не всегда двигатель прогресса, хотя вроде не ленился, но нужно было сразу свой файл выложить.. точнее его маленькую часть. С красной ячейки копирую вставляю в желтые.. (цвета для понимания сделал).ovechkin1973
nilem, а как сделать, чтобы копировать из объединенных ячеек и вставлять не в ту же строку, а в произвольное место (те же объединенные ячейки того же размера, к сожалению правильный файл только в 4-ом посту приложил
nilem, а как сделать, чтобы копировать из объединенных ячеек и вставлять не в ту же строку, а в произвольное место (те же объединенные ячейки того же размера, к сожалению правильный файл только в 4-ом посту приложилovechkin1973
Плохо когда не знаешь, да еще забудешь. Правильно сформулированный вопрос содержит половину ответа.