Горизонтальный Диапазон
Espada
Дата: Вторник, 27.08.2013, 16:32 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
необходимо сделать горизонтальный диапазон. пробую делать по примерам [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2
[/vba] получается вертикальный. а как изменить его на горизонтальный никак не могу дапетрить. подскажите плиз.
необходимо сделать горизонтальный диапазон. пробую делать по примерам [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2
[/vba] получается вертикальный. а как изменить его на горизонтальный никак не могу дапетрить. подскажите плиз. Espada
Ответить
Сообщение необходимо сделать горизонтальный диапазон. пробую делать по примерам [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2
[/vba] получается вертикальный. а как изменить его на горизонтальный никак не могу дапетрить. подскажите плиз. Автор - Espada Дата добавления - 27.08.2013 в 16:32
SkyPro
Дата: Вторник, 27.08.2013, 16:40 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
Цитата
сделать горизонтальный диапазон
Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.
Цитата
сделать горизонтальный диапазон
Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.SkyPro
skypro1111@gmail.com
Ответить
Сообщение Цитата
сделать горизонтальный диапазон
Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.Автор - SkyPro Дата добавления - 27.08.2013 в 16:40
Espada
Дата: Вторник, 27.08.2013, 17:02 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.
Там просто сильно объёмный отчет. если в двух словах то мне нужно выделить диапазон значений(по строке). когда я написал цикл типа: ... [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2 Wend ActiveSheet.Range(Cells(7, 2), Cells(7, p)).Select Selection.Copy Sheets("Анализ").Select Range(Cells(12,2), Cells(7, p)).Select ActiveSheet.Paste
[/vba] ... он выделяет значения не по строке(горизонтально), а по столбцу(вертикально). я вот и не знаю, какой где знак поменять может. а то всё работает но идёт не в том направлении) [admin]Оформляйте коды тегами![/admin]
Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.
Там просто сильно объёмный отчет. если в двух словах то мне нужно выделить диапазон значений(по строке). когда я написал цикл типа: ... [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2 Wend ActiveSheet.Range(Cells(7, 2), Cells(7, p)).Select Selection.Copy Sheets("Анализ").Select Range(Cells(12,2), Cells(7, p)).Select ActiveSheet.Paste
[/vba] ... он выделяет значения не по строке(горизонтально), а по столбцу(вертикально). я вот и не знаю, какой где знак поменять может. а то всё работает но идёт не в том направлении) [admin]Оформляйте коды тегами![/admin]Espada
Ответить
Сообщение Это как? Может вам нужно прочитать значения из диапазона? Или записать в диапазон? Выкладывайте пример и будем думать.
Там просто сильно объёмный отчет. если в двух словах то мне нужно выделить диапазон значений(по строке). когда я написал цикл типа: ... [vba]Код
While R <> Empty p = p + 1 R = ActiveSheet.Cells(7, p).Value2 Wend ActiveSheet.Range(Cells(7, 2), Cells(7, p)).Select Selection.Copy Sheets("Анализ").Select Range(Cells(12,2), Cells(7, p)).Select ActiveSheet.Paste
[/vba] ... он выделяет значения не по строке(горизонтально), а по столбцу(вертикально). я вот и не знаю, какой где знак поменять может. а то всё работает но идёт не в том направлении) [admin]Оформляйте коды тегами![/admin]Автор - Espada Дата добавления - 27.08.2013 в 17:02
paramedic
Дата: Вторник, 27.08.2013, 17:08 |
Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 67
Репутация:
6
±
Замечаний:
0% ±
Excel 2007
А чему равно p?
Я не ламер - я честный чайник
Ответить
Сообщение А чему равно p? Автор - paramedic Дата добавления - 27.08.2013 в 17:08
Espada
Дата: Вторник, 27.08.2013, 17:14 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
P=1
Ответить
Сообщение P=1 Автор - Espada Дата добавления - 27.08.2013 в 17:14
SkyPro
Дата: Вторник, 27.08.2013, 17:56 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
Посмотрите справку по "resize". Я, если быть откровенным, абсолютно не понимаю, что вам необходимо. Выделить горизонтальный диапазон имея в качестве номеров строк и столбцов переменные можно так: [vba]Код
Sub slct() Dim r1&, c1&, c2&, r2& r2 = 1 c2 = 5 r1 = 1 c1 = 1 Cells(r1, c1).Resize(r2, c2).Select Debug.Print Selection.Address End Sub
[/vba]
Посмотрите справку по "resize". Я, если быть откровенным, абсолютно не понимаю, что вам необходимо. Выделить горизонтальный диапазон имея в качестве номеров строк и столбцов переменные можно так: [vba]Код
Sub slct() Dim r1&, c1&, c2&, r2& r2 = 1 c2 = 5 r1 = 1 c1 = 1 Cells(r1, c1).Resize(r2, c2).Select Debug.Print Selection.Address End Sub
[/vba] SkyPro
skypro1111@gmail.com
Сообщение отредактировал SkyPro - Вторник, 27.08.2013, 17:56
Ответить
Сообщение Посмотрите справку по "resize". Я, если быть откровенным, абсолютно не понимаю, что вам необходимо. Выделить горизонтальный диапазон имея в качестве номеров строк и столбцов переменные можно так: [vba]Код
Sub slct() Dim r1&, c1&, c2&, r2& r2 = 1 c2 = 5 r1 = 1 c1 = 1 Cells(r1, c1).Resize(r2, c2).Select Debug.Print Selection.Address End Sub
[/vba] Автор - SkyPro Дата добавления - 27.08.2013 в 17:56
_Boroda_
Дата: Вторник, 27.08.2013, 21:28 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Espada, Ваш макрос можно переписать так: [vba]Код
Sub tt() Range("B2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column).Copy Sheets("Анализ").Range("B12") End Sub
[/vba]
Espada, Ваш макрос можно переписать так: [vba]Код
Sub tt() Range("B2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column).Copy Sheets("Анализ").Range("B12") End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Espada, Ваш макрос можно переписать так: [vba]Код
Sub tt() Range("B2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column).Copy Sheets("Анализ").Range("B12") End Sub
[/vba] Автор - _Boroda_ Дата добавления - 27.08.2013 в 21:28
Espada
Дата: Среда, 28.08.2013, 10:07 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Я, если быть откровенным, абсолютно не понимаю, что вам необходимо.
мне нужно высчитать сколько в строке не значений, скопировать их в другую таблицу. фишка в том что у меня не фиксированый диапазон (например от В6 до I6) а плавающий, т.е. зависит за какой период мы формируем отчет(например от В2 до р, где р координата последней,не пустой, ячейки в строке). Вот пример таблиц
Я, если быть откровенным, абсолютно не понимаю, что вам необходимо.
мне нужно высчитать сколько в строке не значений, скопировать их в другую таблицу. фишка в том что у меня не фиксированый диапазон (например от В6 до I6) а плавающий, т.е. зависит за какой период мы формируем отчет(например от В2 до р, где р координата последней,не пустой, ячейки в строке). Вот пример таблицEspada
Ответить
Сообщение Я, если быть откровенным, абсолютно не понимаю, что вам необходимо.
мне нужно высчитать сколько в строке не значений, скопировать их в другую таблицу. фишка в том что у меня не фиксированый диапазон (например от В6 до I6) а плавающий, т.е. зависит за какой период мы формируем отчет(например от В2 до р, где р координата последней,не пустой, ячейки в строке). Вот пример таблицАвтор - Espada Дата добавления - 28.08.2013 в 10:07
SkyPro
Дата: Среда, 28.08.2013, 11:16 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
[vba]Код
Sub cp() Dim rCell As Range, rRange As Range With Sheets("Порошки") Set rRange = Nothing For Each rCell In .[b7].Resize(1, .UsedRange.Columns.Count) If rCell <> "" Then If rRange Is Nothing Then Set rRange = rCell Else Set rRange = Union(rRange, rCell) End If End If Next rRange.Copy Sheets("Анализ").[b12:g12].PasteSpecial Paste:=xlValues Application.CutCopyMode = 0 End With End Sub
[/vba]
[vba]Код
Sub cp() Dim rCell As Range, rRange As Range With Sheets("Порошки") Set rRange = Nothing For Each rCell In .[b7].Resize(1, .UsedRange.Columns.Count) If rCell <> "" Then If rRange Is Nothing Then Set rRange = rCell Else Set rRange = Union(rRange, rCell) End If End If Next rRange.Copy Sheets("Анализ").[b12:g12].PasteSpecial Paste:=xlValues Application.CutCopyMode = 0 End With End Sub
[/vba] SkyPro
skypro1111@gmail.com
Ответить
Сообщение [vba]Код
Sub cp() Dim rCell As Range, rRange As Range With Sheets("Порошки") Set rRange = Nothing For Each rCell In .[b7].Resize(1, .UsedRange.Columns.Count) If rCell <> "" Then If rRange Is Nothing Then Set rRange = rCell Else Set rRange = Union(rRange, rCell) End If End If Next rRange.Copy Sheets("Анализ").[b12:g12].PasteSpecial Paste:=xlValues Application.CutCopyMode = 0 End With End Sub
[/vba] Автор - SkyPro Дата добавления - 28.08.2013 в 11:16
Espada
Дата: Среда, 28.08.2013, 11:29 |
Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Да да. Спасибо большое. Отлично работает!
Да да. Спасибо большое. Отлично работает! Espada
Ответить
Сообщение Да да. Спасибо большое. Отлично работает! Автор - Espada Дата добавления - 28.08.2013 в 11:29
SkyPro
Дата: Среда, 28.08.2013, 11:37 |
Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация:
255
±
Замечаний:
0% ±
2010
Да да. Спасибо большое. Отлично работает!
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.
Да да. Спасибо большое. Отлично работает!
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.SkyPro
skypro1111@gmail.com
Ответить
Сообщение Да да. Спасибо большое. Отлично работает!
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.Автор - SkyPro Дата добавления - 28.08.2013 в 11:37
Espada
Дата: Среда, 28.08.2013, 13:10 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.
Акей
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.
Акей Espada
Ответить
Сообщение В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.
Акей Автор - Espada Дата добавления - 28.08.2013 в 13:10