Поочередная вставка и массовая печать
rty
Дата: Среда, 27.02.2019, 20:38 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Добрый вечер! Прошу помощи так как в макросах не силен: для вставки данных использовал макрос который был написан одним из участников форума Проблема в том что при вставке на в нужное поле ячейка А2 и с последующим преобразованием в штрих код пропадают нули перед число. Например 00102030423 штрих код считается как 102030423
Добрый вечер! Прошу помощи так как в макросах не силен: для вставки данных использовал макрос который был написан одним из участников форума Проблема в том что при вставке на в нужное поле ячейка А2 и с последующим преобразованием в штрих код пропадают нули перед число. Например 00102030423 штрих код считается как 102030423 rty
Ответить
Сообщение Добрый вечер! Прошу помощи так как в макросах не силен: для вставки данных использовал макрос который был написан одним из участников форума Проблема в том что при вставке на в нужное поле ячейка А2 и с последующим преобразованием в штрих код пропадают нули перед число. Например 00102030423 штрих код считается как 102030423 Автор - rty Дата добавления - 27.02.2019 в 20:38
_Boroda_
Дата: Среда, 27.02.2019, 21:00 |
Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Попробуйте так [vba]Код
Sub PrintVse() Cells(2, 1).NumberFormat = "@" With Sheets(1).Range("Table1") For i = 1 To .Count Cells(2, 1) = .Cells(i).Text ' Me.PrintOut Next i End With End Sub
[/vba]
Попробуйте так [vba]Код
Sub PrintVse() Cells(2, 1).NumberFormat = "@" With Sheets(1).Range("Table1") For i = 1 To .Count Cells(2, 1) = .Cells(i).Text ' Me.PrintOut Next i End With End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Попробуйте так [vba]Код
Sub PrintVse() Cells(2, 1).NumberFormat = "@" With Sheets(1).Range("Table1") For i = 1 To .Count Cells(2, 1) = .Cells(i).Text ' Me.PrintOut Next i End With End Sub
[/vba] Автор - _Boroda_ Дата добавления - 27.02.2019 в 21:00
rty
Дата: Среда, 27.02.2019, 22:30 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
_Boroda_ , Спасибо за быстрый ответ! Завтра на работе про тестирую
_Boroda_ , Спасибо за быстрый ответ! Завтра на работе про тестируюrty
Ответить
Сообщение _Boroda_ , Спасибо за быстрый ответ! Завтра на работе про тестируюАвтор - rty Дата добавления - 27.02.2019 в 22:30
rty
Дата: Среда, 27.02.2019, 23:07 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
_Boroda_ , подскажите пожалуйста вставляю в макрос [vba]Код
Sub Paste() Dim shSrc As Worksheet, shRes As Worksheet Dim lr As Long Application.ScreenUpdating = False Set shSrc = Worksheets("Database") Set shRes = Worksheets("Pasport") Cells(26, 6).NumberFormat = "@" lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row shRes.Range("F26").Value = shSrc.Cells(lr, "B").Value shRes.Range("F8").Value = shSrc.Cells(lr, "C").Value shRes.Range("F9").Value = shSrc.Cells(lr, "D").Value shRes.Range("F11").Value = shSrc.Cells(lr, "M").Value MsgBox "Ok", vbInformation Application.ScreenUpdating = True ActiveSheet.PrintOut End Sub
[/vba] строчку [vba]Код
Cells(26, 6).NumberFormat = "@"
[/vba] в ячейке F26 такая же фигня с номером и не помогает если 00102030423 то 102030423
_Boroda_ , подскажите пожалуйста вставляю в макрос [vba]Код
Sub Paste() Dim shSrc As Worksheet, shRes As Worksheet Dim lr As Long Application.ScreenUpdating = False Set shSrc = Worksheets("Database") Set shRes = Worksheets("Pasport") Cells(26, 6).NumberFormat = "@" lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row shRes.Range("F26").Value = shSrc.Cells(lr, "B").Value shRes.Range("F8").Value = shSrc.Cells(lr, "C").Value shRes.Range("F9").Value = shSrc.Cells(lr, "D").Value shRes.Range("F11").Value = shSrc.Cells(lr, "M").Value MsgBox "Ok", vbInformation Application.ScreenUpdating = True ActiveSheet.PrintOut End Sub
[/vba] строчку [vba]Код
Cells(26, 6).NumberFormat = "@"
[/vba] в ячейке F26 такая же фигня с номером и не помогает если 00102030423 то 102030423rty
Ответить
Сообщение _Boroda_ , подскажите пожалуйста вставляю в макрос [vba]Код
Sub Paste() Dim shSrc As Worksheet, shRes As Worksheet Dim lr As Long Application.ScreenUpdating = False Set shSrc = Worksheets("Database") Set shRes = Worksheets("Pasport") Cells(26, 6).NumberFormat = "@" lr = shSrc.Cells(shSrc.Rows.Count, "A").End(xlUp).Row shRes.Range("F26").Value = shSrc.Cells(lr, "B").Value shRes.Range("F8").Value = shSrc.Cells(lr, "C").Value shRes.Range("F9").Value = shSrc.Cells(lr, "D").Value shRes.Range("F11").Value = shSrc.Cells(lr, "M").Value MsgBox "Ok", vbInformation Application.ScreenUpdating = True ActiveSheet.PrintOut End Sub
[/vba] строчку [vba]Код
Cells(26, 6).NumberFormat = "@"
[/vba] в ячейке F26 такая же фигня с номером и не помогает если 00102030423 то 102030423Автор - rty Дата добавления - 27.02.2019 в 23:07
bmv98rus
Дата: Среда, 27.02.2019, 23:20 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация:
766
±
Замечаний:
0% ±
Excel 2013/2016
а что у вас там shSrc.Cells(lr, "B").Value? Если есть уверенность что всегда 9 символов, то лучшеКод
=Right("000000000"&shSrc.Cells(lr, "B").Value,11)
или подобное.
а что у вас там shSrc.Cells(lr, "B").Value? Если есть уверенность что всегда 9 символов, то лучшеКод
=Right("000000000"&shSrc.Cells(lr, "B").Value,11)
или подобное. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Четверг, 28.02.2019, 11:08
Ответить
Сообщение а что у вас там shSrc.Cells(lr, "B").Value? Если есть уверенность что всегда 9 символов, то лучшеКод
=Right("000000000"&shSrc.Cells(lr, "B").Value,11)
или подобное. Автор - bmv98rus Дата добавления - 27.02.2019 в 23:20
rty
Дата: Среда, 27.02.2019, 23:32 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
bmv98rus , неа, не помогло
bmv98rus , неа, не помоглоrty
Ответить
Сообщение bmv98rus , неа, не помоглоАвтор - rty Дата добавления - 27.02.2019 в 23:32
_Boroda_
Дата: Четверг, 28.02.2019, 00:00 |
Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Вы у меня где увидели Value? .Text дает не реальное значение из ячейки, а видимое. Например, реально в ячейке 1 и стоит формат 00000. Тогда Value даст 1, а Text даст 00001. А у Вас в исходной таблице нолики вначале сделаны с помощью формата [vba]Код
shRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
[/vba]
Вы у меня где увидели Value? .Text дает не реальное значение из ячейки, а видимое. Например, реально в ячейке 1 и стоит формат 00000. Тогда Value даст 1, а Text даст 00001. А у Вас в исходной таблице нолики вначале сделаны с помощью формата [vba]Код
shRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Вы у меня где увидели Value? .Text дает не реальное значение из ячейки, а видимое. Например, реально в ячейке 1 и стоит формат 00000. Тогда Value даст 1, а Text даст 00001. А у Вас в исходной таблице нолики вначале сделаны с помощью формата [vba]Код
shRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
[/vba] Автор - _Boroda_ Дата добавления - 28.02.2019 в 00:00
bmv98rus
Дата: Четверг, 28.02.2019, 11:12 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация:
766
±
Замечаний:
0% ±
Excel 2013/2016
Если честно, то лучше в ячейке со штрихкодом использоватьКод
=Code_128(RIGHT(REPT(0;11)&A2;11))
тогда отпадет надобность в что-то мудрить в коде. Александр _Boroda_ , прав, что можно использовать .Text, а не .Value, но я б предпочел не опираться на формат ячейки.
Если честно, то лучше в ячейке со штрихкодом использоватьКод
=Code_128(RIGHT(REPT(0;11)&A2;11))
тогда отпадет надобность в что-то мудрить в коде. Александр _Boroda_ , прав, что можно использовать .Text, а не .Value, но я б предпочел не опираться на формат ячейки. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Если честно, то лучше в ячейке со штрихкодом использоватьКод
=Code_128(RIGHT(REPT(0;11)&A2;11))
тогда отпадет надобность в что-то мудрить в коде. Александр _Boroda_ , прав, что можно использовать .Text, а не .Value, но я б предпочел не опираться на формат ячейки. Автор - bmv98rus Дата добавления - 28.02.2019 в 11:12
RAN
Дата: Четверг, 28.02.2019, 12:14 |
Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Не нравится красным, мазни зеленым [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then Application.EnableEvents = 0 Target.NumberFormat = "@" Target.Value = Format(Target.Value, "000000000") Application.EnableEvents = -1 End If End Sub
[/vba]
Не нравится красным, мазни зеленым [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then Application.EnableEvents = 0 Target.NumberFormat = "@" Target.Value = Format(Target.Value, "000000000") Application.EnableEvents = -1 End If End Sub
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Не нравится красным, мазни зеленым [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then Application.EnableEvents = 0 Target.NumberFormat = "@" Target.Value = Format(Target.Value, "000000000") Application.EnableEvents = -1 End If End Sub
[/vba] Автор - RAN Дата добавления - 28.02.2019 в 12:14
rty
Дата: Четверг, 28.02.2019, 21:48 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
_Boroda_ , RAN , bmv98rus , Спасибо огромное за помощь
_Boroda_ , RAN , bmv98rus , Спасибо огромное за помощьrty
Ответить
Сообщение _Boroda_ , RAN , bmv98rus , Спасибо огромное за помощьАвтор - rty Дата добавления - 28.02.2019 в 21:48
boa
Дата: Пятница, 01.03.2019, 16:00 |
Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация:
167
±
Замечаний:
0% ±
365
rty, один из способов, что бы не обрезало нули, передать переменную как строку, т.е. [vba]Код
shRes.Range("F26").Value = cstr(shSrc.Cells(lr, "B").Text)
[/vba]
rty, один из способов, что бы не обрезало нули, передать переменную как строку, т.е. [vba]Код
shRes.Range("F26").Value = cstr(shSrc.Cells(lr, "B").Text)
[/vba] boa
Ответить
Сообщение rty, один из способов, что бы не обрезало нули, передать переменную как строку, т.е. [vba]Код
shRes.Range("F26").Value = cstr(shSrc.Cells(lr, "B").Text)
[/vba] Автор - boa Дата добавления - 01.03.2019 в 16:00
_Boroda_
Дата: Пятница, 01.03.2019, 16:08 |
Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
передать переменную как строку, т.е.
Какую переменную? И что, вот такshRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
кусок shSrc.Cells(lr, "B").Text - не строка будет?
передать переменную как строку, т.е.
Какую переменную? И что, вот такshRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
кусок shSrc.Cells(lr, "B").Text - не строка будет?_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение передать переменную как строку, т.е.
Какую переменную? И что, вот такshRes.Range("F26").Value = shSrc.Cells(lr, "B").Text
кусок shSrc.Cells(lr, "B").Text - не строка будет?Автор - _Boroda_ Дата добавления - 01.03.2019 в 16:08
boa
Дата: Пятница, 01.03.2019, 17:10 |
Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация:
167
±
Замечаний:
0% ±
365
_Boroda_, исправлюсь передать *значение как строку значение shSrc.Cells(lr, "B").Text может быть любым и автоформатирование может его преобразовать на свое усмотрение. Так вот, если передавать значение обработав cstr, даже если формат ячейки куда вставляется значение = "0", будет вставлено как текст, со всеми нулями в начале.
_Boroda_, исправлюсь передать *значение как строку значение shSrc.Cells(lr, "B").Text может быть любым и автоформатирование может его преобразовать на свое усмотрение. Так вот, если передавать значение обработав cstr, даже если формат ячейки куда вставляется значение = "0", будет вставлено как текст, со всеми нулями в начале. boa
Сообщение отредактировал boa - Пятница, 01.03.2019, 17:12
Ответить
Сообщение _Boroda_, исправлюсь передать *значение как строку значение shSrc.Cells(lr, "B").Text может быть любым и автоформатирование может его преобразовать на свое усмотрение. Так вот, если передавать значение обработав cstr, даже если формат ячейки куда вставляется значение = "0", будет вставлено как текст, со всеми нулями в начале. Автор - boa Дата добавления - 01.03.2019 в 17:10
bmv98rus
Дата: Пятница, 01.03.2019, 18:02 |
Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация:
766
±
Замечаний:
0% ±
Excel 2013/2016
вставлено как текст, со всеми нулями в начале.
Уверены на 100%? Я лично убежден что это не так . Это совсем не правильно, но только "'"&shSrc.Cells(lr, "B").Text поможет если не трогать формат ячейки.
вставлено как текст, со всеми нулями в начале.
Уверены на 100%? Я лично убежден что это не так . Это совсем не правильно, но только "'"&shSrc.Cells(lr, "B").Text поможет если не трогать формат ячейки.bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Пятница, 01.03.2019, 18:28
Ответить
Сообщение вставлено как текст, со всеми нулями в начале.
Уверены на 100%? Я лично убежден что это не так . Это совсем не правильно, но только "'"&shSrc.Cells(lr, "B").Text поможет если не трогать формат ячейки.Автор - bmv98rus Дата добавления - 01.03.2019 в 18:02
boa
Дата: Пятница, 01.03.2019, 18:22 |
Сообщение № 15
Группа: Друзья
Ранг: Ветеран
Сообщений: 549
Репутация:
167
±
Замечаний:
0% ±
365
bmv98rus, Я лично убежден что это не так .
проверил, согласен. с SQL-запросами попутал
bmv98rus, Я лично убежден что это не так .
проверил, согласен. с SQL-запросами попутал boa
Ответить
Сообщение bmv98rus, Я лично убежден что это не так .
проверил, согласен. с SQL-запросами попутал Автор - boa Дата добавления - 01.03.2019 в 18:22