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

Вход

Регистрация

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

 

= Мир MS Excel/заполнение таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » заполнение таблицы (Макросы/Sub)
заполнение таблицы
miha_ Дата: Вторник, 15.08.2017, 22:50 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер, уважаемые форумчане.
Написал свой первый код.И что то пошло не так.
[vba]
Код
Sub DataEntryForm()
Dim nextRow As Long
nextRow = proekt.Cells(proekt.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With proekt
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
nextRow = nextRow - 1
End If
proekt.Range("data1").Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = proekt.Range("client").Value
.Cells(nextRow, 4).Value = proekt.Range("sotrudnik").Value
.Cells(nextRow, 5).Value = proekt.Range("kolekcia").Value
.Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
.Range("diapason").ClearContents
End With
End Sub
[/vba]
В чем моя ошибка?
Что нужно скорректировать в коде?
Спасибо.
К сообщению приложен файл: 1458026.xlsm (22.3 Kb)


Сообщение отредактировал miha_ - Вторник, 15.08.2017, 23:01
 
Ответить
СообщениеДобрый вечер, уважаемые форумчане.
Написал свой первый код.И что то пошло не так.
[vba]
Код
Sub DataEntryForm()
Dim nextRow As Long
nextRow = proekt.Cells(proekt.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
With proekt
If .Range("A2").Value = "" And .Range("B2").Value = "" Then
nextRow = nextRow - 1
End If
proekt.Range("data1").Copy
.Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
.Cells(nextRow, 3).Value = proekt.Range("client").Value
.Cells(nextRow, 4).Value = proekt.Range("sotrudnik").Value
.Cells(nextRow, 5).Value = proekt.Range("kolekcia").Value
.Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
If nextRow > 2 Then
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
Range("A2:A" & nextRow).Select
End If
.Range("diapason").ClearContents
End With
End Sub
[/vba]
В чем моя ошибка?
Что нужно скорректировать в коде?
Спасибо.

Автор - miha_
Дата добавления - 15.08.2017 в 22:50
KuklP Дата: Вторник, 15.08.2017, 23:27 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
proekt.Range("data1").Copy
[/vba]proekt у Вас лист 22, а data1 на листе 11. Белиберда выходит, однако. %)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
proekt.Range("data1").Copy
[/vba]proekt у Вас лист 22, а data1 на листе 11. Белиберда выходит, однако. %)

Автор - KuklP
Дата добавления - 15.08.2017 в 23:27
KuklP Дата: Вторник, 15.08.2017, 23:34 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Еще у Вас не указан родительский объект:
[vba]
Код
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
[/vba]остальное мона так:
[vba]
Код
Sub DataEntryForm()
    Dim nextRow As Long
    nextRow = proekt.Cells(proekt.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    With proekt
        If .Range("A2").Value = "" And .Range("B2").Value = "" Then
            nextRow = nextRow - 1
        End If
        [Data1].Copy
        .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
        .Cells(nextRow, 3).Value = [client].Value
        .Cells(nextRow, 4).Value = [sotrudnik].Value
        .Cells(nextRow, 5).Value = [kolekcia].Value
        .Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
        If nextRow > 2 Then
            'Range("A2").AutoFill Destination:=Range("A2:A" & nextRow)' укажите родителя.
        End If
        [diapason].ClearContents
    End With
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЕще у Вас не указан родительский объект:
[vba]
Код
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & nextRow)
[/vba]остальное мона так:
[vba]
Код
Sub DataEntryForm()
    Dim nextRow As Long
    nextRow = proekt.Cells(proekt.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    With proekt
        If .Range("A2").Value = "" And .Range("B2").Value = "" Then
            nextRow = nextRow - 1
        End If
        [Data1].Copy
        .Cells(nextRow, 2).PasteSpecial Paste:=xlPasteValues
        .Cells(nextRow, 3).Value = [client].Value
        .Cells(nextRow, 4).Value = [sotrudnik].Value
        .Cells(nextRow, 5).Value = [kolekcia].Value
        .Range("A2").Formula = "=IF(ISBLANK(B2), """", COUNTA($B$2:B2))"
        If nextRow > 2 Then
            'Range("A2").AutoFill Destination:=Range("A2:A" & nextRow)' укажите родителя.
        End If
        [diapason].ClearContents
    End With
End Sub
[/vba]

Автор - KuklP
Дата добавления - 15.08.2017 в 23:34
miha_ Дата: Вторник, 15.08.2017, 23:35 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
proekt у Вас лист 22, а data1 на листе 11

должны быть на одном листе?
я перенес все на один лист - работает.
Только необходимо такое расположение таблицы и таблицы ввода как в примере. Как преобразовать код?
Спасибо.


Сообщение отредактировал miha_ - Вторник, 15.08.2017, 23:36
 
Ответить
Сообщение
proekt у Вас лист 22, а data1 на листе 11

должны быть на одном листе?
я перенес все на один лист - работает.
Только необходимо такое расположение таблицы и таблицы ввода как в примере. Как преобразовать код?
Спасибо.

Автор - miha_
Дата добавления - 15.08.2017 в 23:35
KuklP Дата: Вторник, 15.08.2017, 23:39 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Написал же как. deal


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеНаписал же как. deal

Автор - KuklP
Дата добавления - 15.08.2017 в 23:39
miha_ Дата: Вторник, 15.08.2017, 23:41 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
спасибо.
пока писал вопрос.вы уже ответили)
 
Ответить
Сообщениеспасибо.
пока писал вопрос.вы уже ответили)

Автор - miha_
Дата добавления - 15.08.2017 в 23:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » заполнение таблицы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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