Нумерация строк
Гисер
Дата: Пятница, 04.10.2013, 08:13 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Есть такая проблема, не могу придумать как пронумеровать позиции в общем есть такая табличка предположим №, п/п Наименование Показатель, Макс. Периметр или Диаметр Материал Объем, м2 Цена Итого, руб. Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Число строк естественно меняется в зависимости от числа позиций. Как что бы перед наименованием проставить порядковый номер позиции. Макрос выглядит так [vba]Код
Sub Прямик_фас() Application.ScreenUpdating = False ' Вставим наименование Sheets("прямоугольный с фас.").Select Range("B1").Select Selection.Copy Sheets("Ком.пред").Select Range("B4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим показатель Sheets("прямоугольный с фас.").Select Range("A2").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("C4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' вставим материал Sheets("прямоугольный с фас.").Select Range("A7").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("D4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим объем Sheets("прямоугольный с фас.").Select Range("F2").Select Selection.Copy Sheets("Ком.пред").Select Range("E4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим цену Sheets("прямоугольный с фас.").Select Range("F24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("G4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Вставим итого Application.ScreenUpdating = True Sheets("прямоугольный с фас.").Select Range("E24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("H4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("прямоугольный с фас.").Select Application.Cursor = xlDefault End Sub
[/vba]
Есть такая проблема, не могу придумать как пронумеровать позиции в общем есть такая табличка предположим №, п/п Наименование Показатель, Макс. Периметр или Диаметр Материал Объем, м2 Цена Итого, руб. Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Число строк естественно меняется в зависимости от числа позиций. Как что бы перед наименованием проставить порядковый номер позиции. Макрос выглядит так [vba]Код
Sub Прямик_фас() Application.ScreenUpdating = False ' Вставим наименование Sheets("прямоугольный с фас.").Select Range("B1").Select Selection.Copy Sheets("Ком.пред").Select Range("B4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим показатель Sheets("прямоугольный с фас.").Select Range("A2").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("C4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' вставим материал Sheets("прямоугольный с фас.").Select Range("A7").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("D4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим объем Sheets("прямоугольный с фас.").Select Range("F2").Select Selection.Copy Sheets("Ком.пред").Select Range("E4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим цену Sheets("прямоугольный с фас.").Select Range("F24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("G4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Вставим итого Application.ScreenUpdating = True Sheets("прямоугольный с фас.").Select Range("E24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("H4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("прямоугольный с фас.").Select Application.Cursor = xlDefault End Sub
[/vba] Гисер
Ответить
Сообщение Есть такая проблема, не могу придумать как пронумеровать позиции в общем есть такая табличка предположим №, п/п Наименование Показатель, Макс. Периметр или Диаметр Материал Объем, м2 Цена Итого, руб. Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Воздуховод прямоугольный 2200,00 Лист оц. 0,55 42,00 791,04 33223,73 Число строк естественно меняется в зависимости от числа позиций. Как что бы перед наименованием проставить порядковый номер позиции. Макрос выглядит так [vba]Код
Sub Прямик_фас() Application.ScreenUpdating = False ' Вставим наименование Sheets("прямоугольный с фас.").Select Range("B1").Select Selection.Copy Sheets("Ком.пред").Select Range("B4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим показатель Sheets("прямоугольный с фас.").Select Range("A2").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("C4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' вставим материал Sheets("прямоугольный с фас.").Select Range("A7").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("D4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим объем Sheets("прямоугольный с фас.").Select Range("F2").Select Selection.Copy Sheets("Ком.пред").Select Range("E4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Вставим цену Sheets("прямоугольный с фас.").Select Range("F24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("G4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Вставим итого Application.ScreenUpdating = True Sheets("прямоугольный с фас.").Select Range("E24").Select Application.CutCopyMode = False Selection.Copy Sheets("Ком.пред").Select Range("H4").Select вниз Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("прямоугольный с фас.").Select Application.Cursor = xlDefault End Sub
[/vba] Автор - Гисер Дата добавления - 04.10.2013 в 08:13
ShAM
Дата: Пятница, 04.10.2013, 08:19 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
в общем есть такая табличка предположим
Давайте не будем предполагать, а почитаем Правила, покажем все это в файле (что, куда, зачем), будем оформлять коды соответственно.
в общем есть такая табличка предположим
Давайте не будем предполагать, а почитаем Правила, покажем все это в файле (что, куда, зачем), будем оформлять коды соответственно.ShAM
Ответить
Сообщение в общем есть такая табличка предположим
Давайте не будем предполагать, а почитаем Правила, покажем все это в файле (что, куда, зачем), будем оформлять коды соответственно.Автор - ShAM Дата добавления - 04.10.2013 в 08:19
Гисер
Дата: Пятница, 04.10.2013, 13:06 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Как скажете, прошу прощения...
Как скажете, прошу прощения... Гисер
Ответить
Сообщение Как скажете, прошу прощения... Автор - Гисер Дата добавления - 04.10.2013 в 13:06
SkyPro
Дата: Пятница, 04.10.2013, 13:13 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
Гисер, ? Вы можете ВНИМАТЕЛЬНО прочитать правила и составить нормальный пример с исходными данными, откуда и что нужно брать, что с этим делать и куда это вставить? Или вы полагаете, что это форум "битвы экстрасенсов" ?
Гисер, ? Вы можете ВНИМАТЕЛЬНО прочитать правила и составить нормальный пример с исходными данными, откуда и что нужно брать, что с этим делать и куда это вставить? Или вы полагаете, что это форум "битвы экстрасенсов" ? SkyPro
skypro1111@gmail.com
Ответить
Сообщение Гисер, ? Вы можете ВНИМАТЕЛЬНО прочитать правила и составить нормальный пример с исходными данными, откуда и что нужно брать, что с этим делать и куда это вставить? Или вы полагаете, что это форум "битвы экстрасенсов" ? Автор - SkyPro Дата добавления - 04.10.2013 в 13:13
Wasilich
Дата: Пятница, 04.10.2013, 18:57 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Можно воспользоваться формулой в колонке А. Код
=ЕСЛИ(B5="";"";СТРОКА()-4)
Макросом так можно, (если угадал с копированием):
Можно воспользоваться формулой в колонке А. Код
=ЕСЛИ(B5="";"";СТРОКА()-4)
Макросом так можно, (если угадал с копированием): Wasilich
Ответить
Сообщение Можно воспользоваться формулой в колонке А. Код
=ЕСЛИ(B5="";"";СТРОКА()-4)
Макросом так можно, (если угадал с копированием): Автор - Wasilich Дата добавления - 04.10.2013 в 18:57
wild_pig
Дата: Пятница, 04.10.2013, 19:21 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация:
97
±
Замечаний:
0% ±
2003, 2013
вариант от я
Ответить
Сообщение вариант от я Автор - wild_pig Дата добавления - 04.10.2013 в 19:21
Гисер
Дата: Вторник, 08.10.2013, 12:16 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Объясняльшик из меня так себе, но нашлись понимающие люди) Огромное спасибо!
Объясняльшик из меня так себе, но нашлись понимающие люди) Огромное спасибо! Гисер
Ответить
Сообщение Объясняльшик из меня так себе, но нашлись понимающие люди) Огромное спасибо! Автор - Гисер Дата добавления - 08.10.2013 в 12:16
Гисер
Дата: Пятница, 11.10.2013, 05:59 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
[vba]Код
Sub Гнутье() PS = Sheets("Ком.пред").Range("B" & Rows.Count).End(xlUp).Row + 1 With Sheets("Гнутье") Sheets("Ком.пред").Range("A" & PS) = PS - 4 Sheets("Ком.пред").Range("B" & PS) = .Range("A2") ' Вставим наименование Sheets("Ком.пред").Range("C" & PS) = .Range("F5") ' Вставим показатель Sheets("Ком.пред").Range("D" & PS) = .Range("A8") ' Вставим материал Sheets("Ком.пред").Range("E" & PS) = .Range("E3") ' Вставим объем Sheets("Ком.пред").Range("G" & PS) = .Range("F26") ' Вставим цену Sheets("Ком.пред").Range("H" & PS) = .Range("E26") ' Вставим итого End With End Sub
[/vba] Спасибо за макрос очень лаконично и правильно. Можно как то так же для диапазона написать. Как будет выглядеть если не одну ячейку вставить нужно а диапазон A2:F5.?
[vba]Код
Sub Гнутье() PS = Sheets("Ком.пред").Range("B" & Rows.Count).End(xlUp).Row + 1 With Sheets("Гнутье") Sheets("Ком.пред").Range("A" & PS) = PS - 4 Sheets("Ком.пред").Range("B" & PS) = .Range("A2") ' Вставим наименование Sheets("Ком.пред").Range("C" & PS) = .Range("F5") ' Вставим показатель Sheets("Ком.пред").Range("D" & PS) = .Range("A8") ' Вставим материал Sheets("Ком.пред").Range("E" & PS) = .Range("E3") ' Вставим объем Sheets("Ком.пред").Range("G" & PS) = .Range("F26") ' Вставим цену Sheets("Ком.пред").Range("H" & PS) = .Range("E26") ' Вставим итого End With End Sub
[/vba] Спасибо за макрос очень лаконично и правильно. Можно как то так же для диапазона написать. Как будет выглядеть если не одну ячейку вставить нужно а диапазон A2:F5.? Гисер
Ответить
Сообщение [vba]Код
Sub Гнутье() PS = Sheets("Ком.пред").Range("B" & Rows.Count).End(xlUp).Row + 1 With Sheets("Гнутье") Sheets("Ком.пред").Range("A" & PS) = PS - 4 Sheets("Ком.пред").Range("B" & PS) = .Range("A2") ' Вставим наименование Sheets("Ком.пред").Range("C" & PS) = .Range("F5") ' Вставим показатель Sheets("Ком.пред").Range("D" & PS) = .Range("A8") ' Вставим материал Sheets("Ком.пред").Range("E" & PS) = .Range("E3") ' Вставим объем Sheets("Ком.пред").Range("G" & PS) = .Range("F26") ' Вставим цену Sheets("Ком.пред").Range("H" & PS) = .Range("E26") ' Вставим итого End With End Sub
[/vba] Спасибо за макрос очень лаконично и правильно. Можно как то так же для диапазона написать. Как будет выглядеть если не одну ячейку вставить нужно а диапазон A2:F5.? Автор - Гисер Дата добавления - 11.10.2013 в 05:59
KuklP
Дата: Пятница, 11.10.2013, 06:26 |
Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Народная мудрость гласит, что нет такой программы, к-рую нельзя было бы сократить, хотя бы на одну строку [vba]Код
Sub ВСТАВИТЬ() PS = Sheets("Ком.пред").Cells(Rows.Count, 2).End(xlUp)(2).Row With Sheets("прямоугольный с фас.") Sheets("Ком.пред").Range("A" & PS & ":H" & PS) = _ Array(PS - 4, .[b1], .[g4], .[a7], .[f2], .[f24], .[e26]) End With End Sub
[/vba]
Народная мудрость гласит, что нет такой программы, к-рую нельзя было бы сократить, хотя бы на одну строку [vba]Код
Sub ВСТАВИТЬ() PS = Sheets("Ком.пред").Cells(Rows.Count, 2).End(xlUp)(2).Row With Sheets("прямоугольный с фас.") Sheets("Ком.пред").Range("A" & PS & ":H" & PS) = _ Array(PS - 4, .[b1], .[g4], .[a7], .[f2], .[f24], .[e26]) End With End Sub
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Пятница, 11.10.2013, 06:30
Ответить
Сообщение Народная мудрость гласит, что нет такой программы, к-рую нельзя было бы сократить, хотя бы на одну строку [vba]Код
Sub ВСТАВИТЬ() PS = Sheets("Ком.пред").Cells(Rows.Count, 2).End(xlUp)(2).Row With Sheets("прямоугольный с фас.") Sheets("Ком.пред").Range("A" & PS & ":H" & PS) = _ Array(PS - 4, .[b1], .[g4], .[a7], .[f2], .[f24], .[e26]) End With End Sub
[/vba] Автор - KuklP Дата добавления - 11.10.2013 в 06:26
Гисер
Дата: Пятница, 11.10.2013, 07:01 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
KuklP, спасибо, но это на будущее) Переписывать все лень...сейчас бы выяснить вопрос как таким же образом написать для диапазона A2:F5
KuklP, спасибо, но это на будущее) Переписывать все лень...сейчас бы выяснить вопрос как таким же образом написать для диапазона A2:F5 Гисер
Ответить
Сообщение KuklP, спасибо, но это на будущее) Переписывать все лень...сейчас бы выяснить вопрос как таким же образом написать для диапазона A2:F5 Автор - Гисер Дата добавления - 11.10.2013 в 07:01
KuklP
Дата: Пятница, 11.10.2013, 07:42 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Я не понимаю, в чем тут сложность(не знаю задачи). Так и пишите: [vba]Код
[c27:h30] = [a2:f5].Value
[/vba]
Я не понимаю, в чем тут сложность(не знаю задачи). Так и пишите: [vba]Код
[c27:h30] = [a2:f5].Value
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Я не понимаю, в чем тут сложность(не знаю задачи). Так и пишите: [vba]Код
[c27:h30] = [a2:f5].Value
[/vba] Автор - KuklP Дата добавления - 11.10.2013 в 07:42
Гисер
Дата: Пятница, 11.10.2013, 07:43 |
Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Сложнось в моем знании VBA)))
Сложнось в моем знании VBA))) Гисер
Ответить
Сообщение Сложнось в моем знании VBA))) Автор - Гисер Дата добавления - 11.10.2013 в 07:43