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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос выбранной строки(или несколько) из диалогового окна - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос выбранной строки(или несколько) из диалогового окна (Иное/Other)
Перенос выбранной строки(или несколько) из диалогового окна
Алексей191919 Дата: Четверг, 21.02.2019, 16:39 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Доброе время суток!!!
Подскажите в этой же книге есть скрипт переноса выбранной строки(или несколько) в диалоговом окне , при нажатие на кнопку переносится на другой лист(Лист2), но вот переносится только 1 столбец, а хотелось бы чтоб вся выделенная строка(т.е. несколько столбцов в строке)
Сам скрипт
[vba]
Код
Private Sub btnOK_Click()
Dim ws As Worksheet
Dim newRow As Long, i As Long
    Set ws = Worksheets("Лист2")
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
    
    For i = 0 To Me.lbDays.ListCount - 1
        If Me.lbDays.Selected(i) Then
        ws.Cells(newRow, 1).Value = ws.Cells(newRow, 1).Value + Me.lbDays.List(i) + " ": newRow = newRow + 1
        End If
    Next i
End Sub
[/vba]

заранее спасибо
К сообщению приложен файл: lb2.rar (22.6 Kb)
 
Ответить
СообщениеДоброе время суток!!!
Подскажите в этой же книге есть скрипт переноса выбранной строки(или несколько) в диалоговом окне , при нажатие на кнопку переносится на другой лист(Лист2), но вот переносится только 1 столбец, а хотелось бы чтоб вся выделенная строка(т.е. несколько столбцов в строке)
Сам скрипт
[vba]
Код
Private Sub btnOK_Click()
Dim ws As Worksheet
Dim newRow As Long, i As Long
    Set ws = Worksheets("Лист2")
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
    
    For i = 0 To Me.lbDays.ListCount - 1
        If Me.lbDays.Selected(i) Then
        ws.Cells(newRow, 1).Value = ws.Cells(newRow, 1).Value + Me.lbDays.List(i) + " ": newRow = newRow + 1
        End If
    Next i
End Sub
[/vba]

заранее спасибо

Автор - Алексей191919
Дата добавления - 21.02.2019 в 16:39
_Boroda_ Дата: Четверг, 21.02.2019, 16:54 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Private Sub btnOK_Click()
Dim ws As Worksheet
Dim newRow As Long, i As Long, j As Long
    Set ws = Worksheets("Лист2")
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
    With lbDays
        For i = 0 To lbDays.ListCount - 1
            If .Selected(i) Then
                For j = 1 To .ColumnCount
                    ws.Cells(newRow, j).Value = .List(i, j - 1)
                Next j
                newRow = newRow + 1
            End If
        Next i
    End With
End Sub
[/vba]
Обратите внмимание, как Виктор в Вашей предыдущей теме нашел последнюю ячейку
End(...).Row правильнее, чем CountA - последняя строка ищется независимо от того, есть ли незаполненные ячейки в середине данных столбца А
К сообщению приложен файл: lb2_1.xlsm (25.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Private Sub btnOK_Click()
Dim ws As Worksheet
Dim newRow As Long, i As Long, j As Long
    Set ws = Worksheets("Лист2")
    newRow = Application.WorksheetFunction.CountA(ws.Range("A:A")) + 1
    With lbDays
        For i = 0 To lbDays.ListCount - 1
            If .Selected(i) Then
                For j = 1 To .ColumnCount
                    ws.Cells(newRow, j).Value = .List(i, j - 1)
                Next j
                newRow = newRow + 1
            End If
        Next i
    End With
End Sub
[/vba]
Обратите внмимание, как Виктор в Вашей предыдущей теме нашел последнюю ячейку
End(...).Row правильнее, чем CountA - последняя строка ищется независимо от того, есть ли незаполненные ячейки в середине данных столбца А

Автор - _Boroda_
Дата добавления - 21.02.2019 в 16:54
Алексей191919 Дата: Четверг, 21.02.2019, 16:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо большое всё отлично
 
Ответить
СообщениеСпасибо большое всё отлично

Автор - Алексей191919
Дата добавления - 21.02.2019 в 16:56
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Перенос выбранной строки(или несколько) из диалогового окна (Иное/Other)
  • Страница 1 из 1
  • 1
Поиск:

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