Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставить значение текущей ячейки в четвертый столбец - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Вставить значение текущей ячейки в четвертый столбец
Dmitry1992_92 Дата: Пятница, 09.02.2018, 11:40 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Подскажите что не так с кодом?

[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(Lr, 1).Value = Target.Value
End With
ElseIf Target.Row = 244 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 4).End(xlUp).Row + 1
.Cells(Lr, 4).Value = Target.Value
End With
End If
End Sub
[/vba]

Интересует [vba]
Код
ElseIf Target.Row = 244 Then
[/vba] После двойного нажатия ячейка 244 должна скопироваться и вставится в 4-й столб, но вставляется во 2-й, в чём может быть косяк?


Сообщение отредактировал Dmitry1992_92 - Пятница, 09.02.2018, 12:21
 
Ответить
СообщениеПодскажите что не так с кодом?

[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(Lr, 1).Value = Target.Value
End With
ElseIf Target.Row = 244 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 4).End(xlUp).Row + 1
.Cells(Lr, 4).Value = Target.Value
End With
End If
End Sub
[/vba]

Интересует [vba]
Код
ElseIf Target.Row = 244 Then
[/vba] После двойного нажатия ячейка 244 должна скопироваться и вставится в 4-й столб, но вставляется во 2-й, в чём может быть косяк?

Автор - Dmitry1992_92
Дата добавления - 09.02.2018 в 11:40
Pelena Дата: Пятница, 09.02.2018, 12:51 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
Попробовала ваш код. Значение текущей ячейки B(244,2) строки вставилось в четвертый столбец. А что должно быть?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробовала ваш код. Значение текущей ячейки B(244,2) строки вставилось в четвертый столбец. А что должно быть?

Автор - Pelena
Дата добавления - 09.02.2018 в 12:51
Dmitry1992_92 Дата: Пятница, 09.02.2018, 12:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Странно, а у меня вставляется во 2-й
 
Ответить
СообщениеСтранно, а у меня вставляется во 2-й

Автор - Dmitry1992_92
Дата добавления - 09.02.2018 в 12:56
Dmitry1992_92 Дата: Пятница, 09.02.2018, 13:01 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всё разобрался, нужно было написать If а не ElseIf

[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(Lr, 1).Value = Target.Value
End With
End If
If Target.Row = 244 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 3).End(xlUp).Row + 1
.Cells(Lr, 3).Value = Target.Value
End With
End If
End Sub
[/vba]


Сообщение отредактировал Dmitry1992_92 - Пятница, 09.02.2018, 13:03
 
Ответить
СообщениеВсё разобрался, нужно было написать If а не ElseIf

[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(Lr, 1).Value = Target.Value
End With
End If
If Target.Row = 244 Then
Cancel = True
With Sheets(14)
Lr = .Cells(Rows.Count, 3).End(xlUp).Row + 1
.Cells(Lr, 3).Value = Target.Value
End With
End If
End Sub
[/vba]

Автор - Dmitry1992_92
Дата добавления - 09.02.2018 в 13:01
Dmitry1992_92 Дата: Пятница, 09.02.2018, 13:40 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А можно ли сделать так чтобы код [vba]
Код
If Target.Column = 4 Then
[/vba] начинал действовать с 18-й строки, а не с 1-й? Тоесть с 4-го столбца с 18 строки


Сообщение отредактировал Dmitry1992_92 - Пятница, 09.02.2018, 13:47
 
Ответить
СообщениеА можно ли сделать так чтобы код [vba]
Код
If Target.Column = 4 Then
[/vba] начинал действовать с 18-й строки, а не с 1-й? Тоесть с 4-го столбца с 18 строки

Автор - Dmitry1992_92
Дата добавления - 09.02.2018 в 13:40
Pelena Дата: Пятница, 09.02.2018, 13:53 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
[vba]
Код
If Target.Column = 4  And Target.Row >17 Then
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение[vba]
Код
If Target.Column = 4  And Target.Row >17 Then
[/vba]

Автор - Pelena
Дата добавления - 09.02.2018 в 13:53
Dmitry1992_92 Дата: Пятница, 09.02.2018, 14:22 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
О, супер! Спасибо!
 
Ответить
СообщениеО, супер! Спасибо!

Автор - Dmitry1992_92
Дата добавления - 09.02.2018 в 14:22
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!