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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение накладной из выделенных в Excel строк - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Заполнение накладной из выделенных в Excel строк
Callione Дата: Воскресенье, 28.07.2013, 00:37 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Простите? У меня уже так есть, а все равно с других закладок запускается ((

[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
.[B33] = Selection.Cells(1, 2).Value
.[B34] = Selection.Cells(2, 2).Value
.[B35] = Selection.Cells(3, 2).Value
Sheets("Накладная").Select
End With
End Sub
[/vba]
 
Ответить
СообщениеПростите? У меня уже так есть, а все равно с других закладок запускается ((

[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
.[B33] = Selection.Cells(1, 2).Value
.[B34] = Selection.Cells(2, 2).Value
.[B35] = Selection.Cells(3, 2).Value
Sheets("Накладная").Select
End With
End Sub
[/vba]

Автор - Callione
Дата добавления - 28.07.2013 в 00:37
Матраскин Дата: Воскресенье, 28.07.2013, 04:21 | Сообщение № 22
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
аа...я не о том подумал

[vba]
Код
Selection.Cells(1, 2).Value
[/vba]

значит что присвоит любое выделение 1строка2столбец.
так что надо смотреть что выделяешь вот


в интернете опять кто-то не прав
 
Ответить
Сообщениеаа...я не о том подумал

[vba]
Код
Selection.Cells(1, 2).Value
[/vba]

значит что присвоит любое выделение 1строка2столбец.
так что надо смотреть что выделяешь вот

Автор - Матраскин
Дата добавления - 28.07.2013 в 04:21
Callione Дата: Воскресенье, 28.07.2013, 04:56 | Сообщение № 23
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не могу понять.
Сделал пробный файл, для начала пытаюсь перенести код строки. И сразу столкнулся с проблемой - при выделении только одной строки (например самой первой) и ее добавлении в накладную - почему-то в накладную добавляются все последующие строки.. С точки зрения программы минимум - все корректно, но вопрос - можно ли что-то сделать, чтобы при необходимости добавлялась одна выделенная строчка?

[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
.[B33] = Selection.Cells(1, 2).Value
.[B34] = Selection.Cells(2, 2).Value
.[B35] = Selection.Cells(3, 2).Value
.[B36] = Selection.Cells(4, 2).Value
.[B37] = Selection.Cells(5, 2).Value
.[B38] = Selection.Cells(6, 2).Value
.[B39] = Selection.Cells(7, 2).Value
.[B40] = Selection.Cells(8, 2).Value
.[B41] = Selection.Cells(9, 2).Value
.[B42] = Selection.Cells(10, 2).Value
.[B43] = Selection.Cells(11, 2).Value
.[B44] = Selection.Cells(12, 2).Value

Sheets("Накладная").Select

End With
End Sub
[/vba]
 
Ответить
СообщениеНе могу понять.
Сделал пробный файл, для начала пытаюсь перенести код строки. И сразу столкнулся с проблемой - при выделении только одной строки (например самой первой) и ее добавлении в накладную - почему-то в накладную добавляются все последующие строки.. С точки зрения программы минимум - все корректно, но вопрос - можно ли что-то сделать, чтобы при необходимости добавлялась одна выделенная строчка?

[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
.[B33] = Selection.Cells(1, 2).Value
.[B34] = Selection.Cells(2, 2).Value
.[B35] = Selection.Cells(3, 2).Value
.[B36] = Selection.Cells(4, 2).Value
.[B37] = Selection.Cells(5, 2).Value
.[B38] = Selection.Cells(6, 2).Value
.[B39] = Selection.Cells(7, 2).Value
.[B40] = Selection.Cells(8, 2).Value
.[B41] = Selection.Cells(9, 2).Value
.[B42] = Selection.Cells(10, 2).Value
.[B43] = Selection.Cells(11, 2).Value
.[B44] = Selection.Cells(12, 2).Value

Sheets("Накладная").Select

End With
End Sub
[/vba]

Автор - Callione
Дата добавления - 28.07.2013 в 04:56
SkyPro Дата: Воскресенье, 28.07.2013, 14:10 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Говорю же, приложите исходыне данные + варианты которые должны получаться. Тогда сможем сделать "гибкий" макрос. Который будет учитывать разные вариации исхожных данных + разные варианты результата.


skypro1111@gmail.com
 
Ответить
СообщениеГоворю же, приложите исходыне данные + варианты которые должны получаться. Тогда сможем сделать "гибкий" макрос. Который будет учитывать разные вариации исхожных данных + разные варианты результата.

Автор - SkyPro
Дата добавления - 28.07.2013 в 14:10
Callione Дата: Воскресенье, 28.07.2013, 16:03 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Прилагаю пример, что получилось в итоге.
Пока решил не заполнять точечно всю накладную - оставил старые формулы (ВПР). Макросом переношу номера строк (ранее это делал вручную).

Вопрос, почему при выделении одной строки - в накладную копируются все последующие? Ведь в макросе ясно сказано "Selection"...
К сообщению приложен файл: _3.17.xlsm (41.8 Kb)
 
Ответить
СообщениеПрилагаю пример, что получилось в итоге.
Пока решил не заполнять точечно всю накладную - оставил старые формулы (ВПР). Макросом переношу номера строк (ранее это делал вручную).

Вопрос, почему при выделении одной строки - в накладную копируются все последующие? Ведь в макросе ясно сказано "Selection"...

Автор - Callione
Дата добавления - 28.07.2013 в 16:03
_Boroda_ Дата: Воскресенье, 28.07.2013, 16:40 | Сообщение № 26
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Можно сделать так
[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
     For i = 1 To Selection.Rows.Count
         .Range("B" & i + 9) = Selection.Cells(i, 2)
     Next i
     .Select
End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно сделать так
[vba]
Код
Sub Заполнить_Накладную()
With Worksheets("Накладная")
     For i = 1 To Selection.Rows.Count
         .Range("B" & i + 9) = Selection.Cells(i, 2)
     Next i
     .Select
End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 28.07.2013 в 16:40
Callione Дата: Воскресенье, 28.07.2013, 21:39 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, _Boroda_! Это действительно работает.
Но если я правильно понял, данный алгоритм может заполнять таблицу только построчно. А как тут можно предусмотреть, например, заполнение с B10 по B20, затем с B25 по B35, и затем с B40 по B50?
Вариант, подсказанный ранее просто буквально фиксировал все координаты ввода, поэтому такого вопроса у меня не возникало.
 
Ответить
СообщениеСпасибо, _Boroda_! Это действительно работает.
Но если я правильно понял, данный алгоритм может заполнять таблицу только построчно. А как тут можно предусмотреть, например, заполнение с B10 по B20, затем с B25 по B35, и затем с B40 по B50?
Вариант, подсказанный ранее просто буквально фиксировал все координаты ввода, поэтому такого вопроса у меня не возникало.

Автор - Callione
Дата добавления - 28.07.2013 в 21:39
Wasilich Дата: Понедельник, 29.07.2013, 13:44 | Сообщение № 28
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Ну вот, и я кажется разобрался. Поскольку почти в каждом посте новое пояснение и новое условие. Хотя, не уверен, что это все. :)
К сообщению приложен файл: 1188440.xls (90.0 Kb)


Сообщение отредактировал Wasilic - Понедельник, 29.07.2013, 13:50
 
Ответить
СообщениеНу вот, и я кажется разобрался. Поскольку почти в каждом посте новое пояснение и новое условие. Хотя, не уверен, что это все. :)

Автор - Wasilich
Дата добавления - 29.07.2013 в 13:44
Callione Дата: Понедельник, 29.07.2013, 17:57 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Wasilic - респект, как обычно :)
Все просто и лаконично, это лучшее решение!!!
И при необходимости даже можно использовать в накладной промежуточный лист (листы), если поставки будут очень большими.

Спасибо!
 
Ответить
СообщениеWasilic - респект, как обычно :)
Все просто и лаконично, это лучшее решение!!!
И при необходимости даже можно использовать в накладной промежуточный лист (листы), если поставки будут очень большими.

Спасибо!

Автор - Callione
Дата добавления - 29.07.2013 в 17:57
Callione Дата: Понедельник, 29.07.2013, 19:03 | Сообщение № 30
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Один вопрос, Wasilic
У тебя в поле №2 накладной (товар) вставляется только наименование товара, а должно быть, через запятую, сначала артикул, а потом наименование товара. Как эти данные склеить в макросе статичного копирования я знаю, а вот в твой макрос даже не знаю, как влезть.. поможешь?

На выходе должно быть, пример: "А0001, Футболка RS, солнце"
 
Ответить
СообщениеОдин вопрос, Wasilic
У тебя в поле №2 накладной (товар) вставляется только наименование товара, а должно быть, через запятую, сначала артикул, а потом наименование товара. Как эти данные склеить в макросе статичного копирования я знаю, а вот в твой макрос даже не знаю, как влезть.. поможешь?

На выходе должно быть, пример: "А0001, Футболка RS, солнце"

Автор - Callione
Дата добавления - 29.07.2013 в 19:03
Callione Дата: Понедельник, 29.07.2013, 23:46 | Сообщение № 31
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Я разобрался!
Вот что значит подойти к разбору со свежей головой)

Получилась следующая конструкция:
[vba]
Код
.Cells(SN, 7) = Cells(I, 3) & "; " & Cells(I, 6)
[/vba]
 
Ответить
СообщениеЯ разобрался!
Вот что значит подойти к разбору со свежей головой)

Получилась следующая конструкция:
[vba]
Код
.Cells(SN, 7) = Cells(I, 3) & "; " & Cells(I, 6)
[/vba]

Автор - Callione
Дата добавления - 29.07.2013 в 23:46
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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