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

Вход

Регистрация

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

 

= Мир MS Excel/ПОИСКПОЗ: выбрать все строки относящиеся к классу В25 - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » ПОИСКПОЗ: выбрать все строки относящиеся к классу В25 (Формулы/Formulas)
ПОИСКПОЗ: выбрать все строки относящиеся к классу В25
lebensvoll Дата: Четверг, 05.03.2015, 23:44 | Сообщение № 21
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Вот файл с листами только даты не полностью (((((
К сообщению приложен файл: 1882741.xlsm (97.8 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеВот файл с листами только даты не полностью (((((

Автор - lebensvoll
Дата добавления - 05.03.2015 в 23:44
lebensvoll Дата: Пятница, 06.03.2015, 00:24 | Сообщение № 22
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
gling, [vba]
Код
Option Explicit

Sub Macro()

Application.ScreenUpdating = False
Call ttt1(Sheets("В5"))
Call ttt1(Sheets("В7,5"))
Call ttt1(Sheets("В10"))
Call ttt1(Sheets("В12,5"))
Call ttt1(Sheets("В15"))
Call ttt1(Sheets("В20"))
Call ttt1(Sheets("В22,5"))
Call ttt1(Sheets("В25"))
Call ttt1(Sheets("В30"))
Call ttt1(Sheets("М75"))
Call ttt1(Sheets("М100"))
Call ttt1(Sheets("М150"))
Call ttt1(Sheets("М200"))
Call ttt1(Sheets("М250"))
Call ttt1(Sheets("М300"))
Application.ScreenUpdating = True
MsgBox "готово!", vbInformation

End Sub
[/vba]

[vba]
Код
Private Sub ttt1(shTrt As Excel.Worksheet)

Dim i As Long
For i = 1 To Sheets.Count - 3
Call ttt2(Sheets(i), shTrt)
Next

End Sub
[/vba]

[vba]
Код
Private Sub ttt2(shSrc As Excel.Worksheet, shTrt As Excel.Worksheet)

Dim arrE()
Dim strType As String
Dim lngStart As Long, lngEnd As Long, lngRowsCount As Long
Dim lngLastRow As Long
Dim i As Long
strType = shTrt.Name
arrE = shSrc.Range("E1:E" & shSrc.UsedRange.Row + shSrc.UsedRange.Rows.Count - 1).Value
For i = 1 To UBound(arrE)
If CStr(arrE(i, 1)) = strType Then
lngStart = i
Exit For
End If
Next
If lngStart = 0 Then
Exit Sub
End If
i = lngStart + 1
Do
If CStr(arrE(i, 1)) <> strType Or i > UBound(arrE) Then
lngEnd = i - 1
Exit Do
Else
i = i + 1
End If
Loop
lngRowsCount = lngEnd - lngStart + 1
lngLastRow = shTrt.UsedRange.Row + shTrt.UsedRange.Rows.Count
shTrt.Cells(lngLastRow, "A").Resize(lngRowsCount, 20).Value = _
shSrc.Cells(lngStart, "D").Resize(lngRowsCount, 20).Value

End Sub
[/vba]
Я вроде разобрался куда прописывать и корректировать его (правда как его создавать еще нет), мне не нужно вот тут прописывать листы:????
[vba]
Код
Private Sub ttt1(shTrt As Excel.Worksheet)

Dim i As Long
For i = 1 To Sheets.Count - 3
Call ttt2(Sheets(i), shTrt)
Next
[/vba]
[moder]Оформляйте коды тегами, кнопка #[/moder]


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал Pelena - Пятница, 06.03.2015, 07:45
 
Ответить
Сообщениеgling, [vba]
Код
Option Explicit

Sub Macro()

Application.ScreenUpdating = False
Call ttt1(Sheets("В5"))
Call ttt1(Sheets("В7,5"))
Call ttt1(Sheets("В10"))
Call ttt1(Sheets("В12,5"))
Call ttt1(Sheets("В15"))
Call ttt1(Sheets("В20"))
Call ttt1(Sheets("В22,5"))
Call ttt1(Sheets("В25"))
Call ttt1(Sheets("В30"))
Call ttt1(Sheets("М75"))
Call ttt1(Sheets("М100"))
Call ttt1(Sheets("М150"))
Call ttt1(Sheets("М200"))
Call ttt1(Sheets("М250"))
Call ttt1(Sheets("М300"))
Application.ScreenUpdating = True
MsgBox "готово!", vbInformation

End Sub
[/vba]

[vba]
Код
Private Sub ttt1(shTrt As Excel.Worksheet)

Dim i As Long
For i = 1 To Sheets.Count - 3
Call ttt2(Sheets(i), shTrt)
Next

End Sub
[/vba]

[vba]
Код
Private Sub ttt2(shSrc As Excel.Worksheet, shTrt As Excel.Worksheet)

Dim arrE()
Dim strType As String
Dim lngStart As Long, lngEnd As Long, lngRowsCount As Long
Dim lngLastRow As Long
Dim i As Long
strType = shTrt.Name
arrE = shSrc.Range("E1:E" & shSrc.UsedRange.Row + shSrc.UsedRange.Rows.Count - 1).Value
For i = 1 To UBound(arrE)
If CStr(arrE(i, 1)) = strType Then
lngStart = i
Exit For
End If
Next
If lngStart = 0 Then
Exit Sub
End If
i = lngStart + 1
Do
If CStr(arrE(i, 1)) <> strType Or i > UBound(arrE) Then
lngEnd = i - 1
Exit Do
Else
i = i + 1
End If
Loop
lngRowsCount = lngEnd - lngStart + 1
lngLastRow = shTrt.UsedRange.Row + shTrt.UsedRange.Rows.Count
shTrt.Cells(lngLastRow, "A").Resize(lngRowsCount, 20).Value = _
shSrc.Cells(lngStart, "D").Resize(lngRowsCount, 20).Value

End Sub
[/vba]
Я вроде разобрался куда прописывать и корректировать его (правда как его создавать еще нет), мне не нужно вот тут прописывать листы:????
[vba]
Код
Private Sub ttt1(shTrt As Excel.Worksheet)

Dim i As Long
For i = 1 To Sheets.Count - 3
Call ttt2(Sheets(i), shTrt)
Next
[/vba]
[moder]Оформляйте коды тегами, кнопка #[/moder]

Автор - lebensvoll
Дата добавления - 06.03.2015 в 00:24
lebensvoll Дата: Пятница, 06.03.2015, 00:32 | Сообщение № 23
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
hands у меня вроде все получилось ЕСТЬ вопрос. Почему когда я каждый раз нажимая МАКРОС он добавляет те же самые значения (((( как бы дублируя. Можно ли сделать так чтоб он не дублировал ???? файл прикладываю
К сообщению приложен файл: 8349830.xlsm (96.1 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеhands у меня вроде все получилось ЕСТЬ вопрос. Почему когда я каждый раз нажимая МАКРОС он добавляет те же самые значения (((( как бы дублируя. Можно ли сделать так чтоб он не дублировал ???? файл прикладываю

Автор - lebensvoll
Дата добавления - 06.03.2015 в 00:32
Karataev Дата: Пятница, 06.03.2015, 07:32 | Сообщение № 24
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
нужно вот что выяснить(я об этом вчера писал) -как макросу понять,какие листы являются листами-датами,а какие листы- целевые листы.

так как вы можете добавить листы в будущем,то строго в макросе нельзя указать листы.
я предложил такой вариант:макрос ищет первый целевой лист и все листы,которые слева,макрос будет считать листами -датами.
те листы,которые спрва, -целевые листы,но кроме последнего.

но вы можете предложить свой способ. например,макрос может фиксировано за листы-даты считать листы 1 - 31.
затем прямо в макрос можно записать целевые листы. в этом случае вы можете добавлять в книгу какие-то другие листы,не связанные с макросом.
сейчас у вас такой лист последний(вы писали об этом,в выложенном в самом начале файле не было его,а остальные файлы я не смотрел,т.к.у меня был к вам другой вопрос)
 
Ответить
Сообщениенужно вот что выяснить(я об этом вчера писал) -как макросу понять,какие листы являются листами-датами,а какие листы- целевые листы.

так как вы можете добавить листы в будущем,то строго в макросе нельзя указать листы.
я предложил такой вариант:макрос ищет первый целевой лист и все листы,которые слева,макрос будет считать листами -датами.
те листы,которые спрва, -целевые листы,но кроме последнего.

но вы можете предложить свой способ. например,макрос может фиксировано за листы-даты считать листы 1 - 31.
затем прямо в макрос можно записать целевые листы. в этом случае вы можете добавлять в книгу какие-то другие листы,не связанные с макросом.
сейчас у вас такой лист последний(вы писали об этом,в выложенном в самом начале файле не было его,а остальные файлы я не смотрел,т.к.у меня был к вам другой вопрос)

Автор - Karataev
Дата добавления - 06.03.2015 в 07:32
lebensvoll Дата: Пятница, 06.03.2015, 07:59 | Сообщение № 25
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Karataev, посмотрите пожалуйста вложенный файл в предыдущем сообщении (((( я правильно прописал листы??? и вопрос еще вот какой: Почему когда я каждый раз нажимая МАКРОС он добавляет те же самые значения (((( как бы дублируя.


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеKarataev, посмотрите пожалуйста вложенный файл в предыдущем сообщении (((( я правильно прописал листы??? и вопрос еще вот какой: Почему когда я каждый раз нажимая МАКРОС он добавляет те же самые значения (((( как бы дублируя.

Автор - lebensvoll
Дата добавления - 06.03.2015 в 07:59
Karataev Дата: Пятница, 06.03.2015, 08:01 | Сообщение № 26
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
не смогу помочь вам по вашей задаче.
подождите,может кто- нибудь другой поможет
 
Ответить
Сообщениене смогу помочь вам по вашей задаче.
подождите,может кто- нибудь другой поможет

Автор - Karataev
Дата добавления - 06.03.2015 в 08:01
Kuzmich Дата: Воскресенье, 08.03.2015, 17:47 | Сообщение № 27
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Посмотрите вариант в приложении
В листах В5, .... , М300 в столбцах где даты надо выбрать формат даты.
Макрос в Module 2
К сообщению приложен файл: Lebensvoll_.rar (30.0 Kb)
 
Ответить
СообщениеПосмотрите вариант в приложении
В листах В5, .... , М300 в столбцах где даты надо выбрать формат даты.
Макрос в Module 2

Автор - Kuzmich
Дата добавления - 08.03.2015 в 17:47
krosav4ig Дата: Вторник, 10.03.2015, 15:28 | Сообщение № 28
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
долго порывался сделать эту задачку с помощью Power Query..., вчера сел и вроде что-то получилось
для работы должна быть установлена и включена надстройка MS Power Query, в книге должны присутствовать листы:
"!"
(все листы с исходными данными должны располагаться перед ним, и на этом листе расположена таблица, из которой берется имя файла для запроса),

"Шаблон"
(лист-шаблон, на нем сделал 2 сводные, подключенные к подключению, сформированному запросом Power Query),

"Срезы"
(Сюда помещаются срезы, которые формируются при выполнении макроса)

при нажатии на кнопку запрос собирает все данные с листов, расположенных до листа "!" и отдает их сводным на листе "Шаблон"
и на основании элементов из поля "Класс бетонной смеси" формируются листы по каждому классу, предварительно удалив все листы между "!" и "Шаблон"
при установке фильтра в любой сводной на этих листах, он распространяется на вторую сводную на листе

данные в сводных отображаются только из последнего сохранения файла, т.е. при обновлении сводной нужно сохранить файл, при обновлении любой сводной все остальные обновляются автоматически

Upd.
Заменил файлы, была небольшая ошибочка
К сообщению приложен файл: 0650259.zip.001 (100.0 Kb) · 0650259.zip.002 (38.7 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 10.03.2015, 16:54
 
Ответить
Сообщениедолго порывался сделать эту задачку с помощью Power Query..., вчера сел и вроде что-то получилось
для работы должна быть установлена и включена надстройка MS Power Query, в книге должны присутствовать листы:
"!"
(все листы с исходными данными должны располагаться перед ним, и на этом листе расположена таблица, из которой берется имя файла для запроса),

"Шаблон"
(лист-шаблон, на нем сделал 2 сводные, подключенные к подключению, сформированному запросом Power Query),

"Срезы"
(Сюда помещаются срезы, которые формируются при выполнении макроса)

при нажатии на кнопку запрос собирает все данные с листов, расположенных до листа "!" и отдает их сводным на листе "Шаблон"
и на основании элементов из поля "Класс бетонной смеси" формируются листы по каждому классу, предварительно удалив все листы между "!" и "Шаблон"
при установке фильтра в любой сводной на этих листах, он распространяется на вторую сводную на листе

данные в сводных отображаются только из последнего сохранения файла, т.е. при обновлении сводной нужно сохранить файл, при обновлении любой сводной все остальные обновляются автоматически

Upd.
Заменил файлы, была небольшая ошибочка

Автор - krosav4ig
Дата добавления - 10.03.2015 в 15:28
lebensvoll Дата: Вторник, 10.03.2015, 22:59 | Сообщение № 29
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Kuzmich, Karataev, спасибо огромное всем вам!!!! внедрил журнал с макросами в наш коллектив и тут при заполнении данных за январь, февраль, март месяц ВОЗНИК ВОПРОС и сразу же делема (((( МОГУ ЛИ Я ОБРАТИТЬСЯ К ВАМ ЕЩЕ РАЗ ЗА ПОМОЩЬЮ (((( Во вложенном файле имеются два файла. В файл Данные на 28 сутки в столбец "С-Дата" "D- шифр" "Е- Ri"должны подтягиваться данные содержащие значение 28 по столбцу "Н" с файла Журнала январь 2015 с листа В25 столбца "А- дата формирования" "Н-возраст, сут" "R- средняя прочность серии образцов, МПа". Если же это не обременит ВАС, не могли бы вы помочь в очередной раз. ПОЖАЛУЙСТА!!! Заранее спасибо
[moder]
МОГУ ЛИ Я ОБРАТИТЬСЯ К ВАМ ЕЩЕ РАЗ ЗА ПОМОЩЬЮ

Можете, конечно, но в новой теме[/moder]


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеkrosav4ig, Kuzmich, Karataev, спасибо огромное всем вам!!!! внедрил журнал с макросами в наш коллектив и тут при заполнении данных за январь, февраль, март месяц ВОЗНИК ВОПРОС и сразу же делема (((( МОГУ ЛИ Я ОБРАТИТЬСЯ К ВАМ ЕЩЕ РАЗ ЗА ПОМОЩЬЮ (((( Во вложенном файле имеются два файла. В файл Данные на 28 сутки в столбец "С-Дата" "D- шифр" "Е- Ri"должны подтягиваться данные содержащие значение 28 по столбцу "Н" с файла Журнала январь 2015 с листа В25 столбца "А- дата формирования" "Н-возраст, сут" "R- средняя прочность серии образцов, МПа". Если же это не обременит ВАС, не могли бы вы помочь в очередной раз. ПОЖАЛУЙСТА!!! Заранее спасибо
[moder]
МОГУ ЛИ Я ОБРАТИТЬСЯ К ВАМ ЕЩЕ РАЗ ЗА ПОМОЩЬЮ

Можете, конечно, но в новой теме[/moder]

Автор - lebensvoll
Дата добавления - 10.03.2015 в 22:59
lebensvoll Дата: Вторник, 10.03.2015, 23:04 | Сообщение № 30
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
ПРОШУ ПРОЩЕНИЯ ВОТ ФАЙЛ
К сообщению приложен файл: Desktop.7z (40.3 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеПРОШУ ПРОЩЕНИЯ ВОТ ФАЙЛ

Автор - lebensvoll
Дата добавления - 10.03.2015 в 23:04
Мир MS Excel » Вопросы и решения » Вопросы по Excel » ПОИСКПОЗ: выбрать все строки относящиеся к классу В25 (Формулы/Formulas)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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