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

Вход

Регистрация

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

 

= Мир MS Excel/Горизонтальный Диапазон - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Горизонтальный Диапазон
Espada Дата: Вторник, 27.08.2013, 16:32 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

необходимо сделать горизонтальный диапазон.
пробую делать по примерам

[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
Дата добавления - 27.08.2013 в 16:32
SkyPro Дата: Вторник, 27.08.2013, 16:40 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Цитата
сделать горизонтальный диапазон

Это как?
Может вам нужно прочитать значения из диапазона? Или записать в диапазон?
Выкладывайте пример и будем думать.


skypro1111@gmail.com
 
Ответить
Сообщение
Цитата
сделать горизонтальный диапазон

Это как?
Может вам нужно прочитать значения из диапазона? Или записать в диапазон?
Выкладывайте пример и будем думать.

Автор - SkyPro
Дата добавления - 27.08.2013 в 16:40
Espada Дата: Вторник, 27.08.2013, 17:02 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Это как?
Может вам нужно прочитать значения из диапазона? Или записать в диапазон?
Выкладывайте пример и будем думать.


Там просто сильно объёмный отчет. если в двух словах то мне нужно выделить диапазон значений(по строке).
когда я написал цикл типа:
...
[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
Дата добавления - 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
Репутация: 0 ±
Замечаний: 40% ±

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]


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
Группа: Админы
Ранг: Местный житель
Сообщений: 16738
Репутация: 6534 ±
Замечаний: ±

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]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Репутация: 0 ±
Замечаний: 40% ±

Я, если быть откровенным, абсолютно не понимаю, что вам необходимо.


мне нужно высчитать сколько в строке не значений, скопировать их в другую таблицу. фишка в том что у меня не фиксированый диапазон (например от В6 до I6) а плавающий, т.е. зависит за какой период мы формируем отчет(например от В2 до р, где р координата последней,не пустой, ячейки в строке). Вот пример таблиц
К сообщению приложен файл: Reestr_PP_MAV.xlsx (87.0 Kb)
 
Ответить
Сообщение
Я, если быть откровенным, абсолютно не понимаю, что вам необходимо.


мне нужно высчитать сколько в строке не значений, скопировать их в другую таблицу. фишка в том что у меня не фиксированый диапазон (например от В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]


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
Репутация: 0 ±
Замечаний: 40% ±

Да да. Спасибо большое. Отлично работает!
 
Ответить
СообщениеДа да. Спасибо большое. Отлично работает!

Автор - Espada
Дата добавления - 28.08.2013 в 11:29
SkyPro Дата: Среда, 28.08.2013, 11:37 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Цитата (Espada, Среда, 28.08.2013, 11:29 # 10)
Да да. Спасибо большое. Отлично работает!

В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.


skypro1111@gmail.com
 
Ответить
Сообщение
Цитата (Espada, Среда, 28.08.2013, 11:29 # 10)
Да да. Спасибо большое. Отлично работает!

В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.

Автор - SkyPro
Дата добавления - 28.08.2013 в 11:37
Espada Дата: Среда, 28.08.2013, 13:10 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Цитата (SkyPro, Среда, 28.08.2013, 11:37 # 11)
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.

Акей :)
 
Ответить
Сообщение
Цитата (SkyPro, Среда, 28.08.2013, 11:37 # 11)
В следующий раз СРАЗУ прилагайте файл примера. Тогда и ждать ответа будете меньше времени.

Акей :)

Автор - Espada
Дата добавления - 28.08.2013 в 13:10
  • Страница 1 из 1
  • 1
Поиск:

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