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

Вход

Регистрация

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

 

= Мир MS Excel/Выборка нужного диапазона из таблицы по словам. - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Выборка нужного диапазона из таблицы по словам.
llluckyman Дата: Пятница, 26.04.2013, 19:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Есть очень большая таблица из меньших на листе 1 надо ее разобрать отдельно по листам. Тоесть вырезаем от слова гвозди до слова сумма строка сумма не обязательна вставляем ее на лист 2 и так далее пока таблица не будет разобрана.
К сообщению приложен файл: 7542545.xlsx (13.1 Kb)
 
Ответить
СообщениеЕсть очень большая таблица из меньших на листе 1 надо ее разобрать отдельно по листам. Тоесть вырезаем от слова гвозди до слова сумма строка сумма не обязательна вставляем ее на лист 2 и так далее пока таблица не будет разобрана.

Автор - llluckyman
Дата добавления - 26.04.2013 в 19:19
Jhonson Дата: Суббота, 27.04.2013, 09:31 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Наверное так:
[vba]
Код
Sub a()
Dim LastRow As Integer, i As Integer, k As Integer
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
k = 1
For i = 1 To LastRow
     If Sheets(1).Cells(i, 1) = "сумма" Then
         Sheets.Add After:=Sheets(Sheets.Count)
         With Sheets(Sheets.Count)
             .Range("a1:" & "h" & i - k).Value = Sheets(1).Range("a" & k & ":h" & i).Value
             .Range("a" & i - k + 1 & ":" & "h" & ((i - k + 1) * 2) - 2).Value = _
             Sheets(1).Range("j" & k + 2 & ":q" & i + 1).Value
         End With
         k = i + 1
     End If
Next
End Sub
[/vba]
К сообщению приложен файл: 7542545.xls (49.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеНаверное так:
[vba]
Код
Sub a()
Dim LastRow As Integer, i As Integer, k As Integer
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
k = 1
For i = 1 To LastRow
     If Sheets(1).Cells(i, 1) = "сумма" Then
         Sheets.Add After:=Sheets(Sheets.Count)
         With Sheets(Sheets.Count)
             .Range("a1:" & "h" & i - k).Value = Sheets(1).Range("a" & k & ":h" & i).Value
             .Range("a" & i - k + 1 & ":" & "h" & ((i - k + 1) * 2) - 2).Value = _
             Sheets(1).Range("j" & k + 2 & ":q" & i + 1).Value
         End With
         k = i + 1
     End If
Next
End Sub
[/vba]

Автор - Jhonson
Дата добавления - 27.04.2013 в 09:31
llluckyman Дата: Суббота, 27.04.2013, 11:35 | Сообщение № 3
Группа: Гости
В каком эквиваленте выразить вам благодарность ? ))
 
Ответить
СообщениеВ каком эквиваленте выразить вам благодарность ? ))

Автор - llluckyman
Дата добавления - 27.04.2013 в 11:35
Jhonson Дата: Суббота, 27.04.2013, 11:38 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

llluckyman, в правилах все написано!
Обращайтесь, если что... smile


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщениеllluckyman, в правилах все написано!
Обращайтесь, если что... smile

Автор - Jhonson
Дата добавления - 27.04.2013 в 11:38
Jhonson Дата: Вторник, 30.04.2013, 09:26 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Код макроса с учетом последних пожеланий:
К сообщению приложен файл: llluckyman_new.xls (55.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеКод макроса с учетом последних пожеланий:

Автор - Jhonson
Дата добавления - 30.04.2013 в 09:26
llluckyman Дата: Вторник, 30.04.2013, 12:00 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Просто нет слов !!! )))
 
Ответить
СообщениеПросто нет слов !!! )))

Автор - llluckyman
Дата добавления - 30.04.2013 в 12:00
llluckyman Дата: Вторник, 30.04.2013, 12:32 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Но есть некоторые вопросы )) Вопрос следующий можно ли как то связать гвозди 345 это исходник мне надо к нему приставит сотка и так далее и вопрос по выравниванию, шрифту и размеру в таблице . в примере указано. Очень вам признателен заранее !!!
К сообщению приложен файл: 1496693.xlsx (18.0 Kb)
 
Ответить
СообщениеНо есть некоторые вопросы )) Вопрос следующий можно ли как то связать гвозди 345 это исходник мне надо к нему приставит сотка и так далее и вопрос по выравниванию, шрифту и размеру в таблице . в примере указано. Очень вам признателен заранее !!!

Автор - llluckyman
Дата добавления - 30.04.2013 в 12:32
Jhonson Дата: Вторник, 30.04.2013, 13:00 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Добавил лист "сопоставление"
и четыре строчки кода:
[vba]
Код
        .Rows("6:6").HorizontalAlignment = xlCenter
         .Rows("4:6").Font.Bold = True
         .Rows("7:" & last).Font.Size = 10
         .Range("E4").FormulaR1C1 = "=VLOOKUP(R[1]C[-4],сопоставление!C[-4]:C[-3],2,0)"
[/vba]
К сообщению приложен файл: llluckyman_new-.xls (66.0 Kb)


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Вторник, 30.04.2013, 13:32
 
Ответить
СообщениеДобавил лист "сопоставление"
и четыре строчки кода:
[vba]
Код
        .Rows("6:6").HorizontalAlignment = xlCenter
         .Rows("4:6").Font.Bold = True
         .Rows("7:" & last).Font.Size = 10
         .Range("E4").FormulaR1C1 = "=VLOOKUP(R[1]C[-4],сопоставление!C[-4]:C[-3],2,0)"
[/vba]

Автор - Jhonson
Дата добавления - 30.04.2013 в 13:00
Матраскин Дата: Вторник, 30.04.2013, 13:48 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Jhonson, что то поломался у меня макрос .. нагенерировал листы.. вроде нормально, удалил листы, что нагенерировал, ...нажал второй раз и не работает больше sad


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

Автор - Матраскин
Дата добавления - 30.04.2013 в 13:48
Jhonson Дата: Вторник, 30.04.2013, 14:11 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

а если в самом начале эту строчку написать?[vba]
Код
Sheets(1).Select
[/vba]


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщениеа если в самом начале эту строчку написать?[vba]
Код
Sheets(1).Select
[/vba]

Автор - Jhonson
Дата добавления - 30.04.2013 в 14:11
Матраскин Дата: Вторник, 30.04.2013, 14:30 | Сообщение № 11
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Jhonson, если дописать, то да! а если нет, то нет biggrin


в интернете опять кто-то не прав
 
Ответить
СообщениеJhonson, если дописать, то да! а если нет, то нет biggrin

Автор - Матраскин
Дата добавления - 30.04.2013 в 14:30
llluckyman Дата: Четверг, 02.05.2013, 13:00 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Снова появились некоторые вопросы. 1) В столбце с таким значением "12:08:35" делает такую штуку "0,59452546296296" 2) по поводу центровки центрует только заголовок а не значения ниже.
 
Ответить
СообщениеСнова появились некоторые вопросы. 1) В столбце с таким значением "12:08:35" делает такую штуку "0,59452546296296" 2) по поводу центровки центрует только заголовок а не значения ниже.

Автор - llluckyman
Дата добавления - 02.05.2013 в 13:00
llluckyman Дата: Четверг, 02.05.2013, 13:07 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Столбец который я имел ввиду количество.
 
Ответить
СообщениеСтолбец который я имел ввиду количество.

Автор - llluckyman
Дата добавления - 02.05.2013 в 13:07
AlexM Дата: Четверг, 02.05.2013, 13:19 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Цитата (llluckyman)
с таким значением "12:08:35" делает такую штуку "0,59452546296296"

Что-то непонятно. Должен делать 0,505960648148148



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (llluckyman)
с таким значением "12:08:35" делает такую штуку "0,59452546296296"

Что-то непонятно. Должен делать 0,505960648148148

Автор - AlexM
Дата добавления - 02.05.2013 в 13:19
llluckyman Дата: Четверг, 02.05.2013, 14:12 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

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


Сообщение отредактировал llluckyman - Четверг, 02.05.2013, 14:16
 
Ответить
СообщениеДа не в этом суть значение должно быть таким какое была а не преобразовываться в другой вид.

Автор - llluckyman
Дата добавления - 02.05.2013 в 14:12
Serge_007 Дата: Четверг, 02.05.2013, 16:20 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (llluckyman)
значение должно быть таким какое была
А оно таким и остаётся

Формат не изменяет значение


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (llluckyman)
значение должно быть таким какое была
А оно таким и остаётся

Формат не изменяет значение

Автор - Serge_007
Дата добавления - 02.05.2013 в 16:20
llluckyman Дата: Четверг, 02.05.2013, 16:34 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Вы вставьте 12:08:35 такое значение в мою таблицу в столбец количество запустите макрос приведенный выше и увидите что значение меняется .
 
Ответить
СообщениеВы вставьте 12:08:35 такое значение в мою таблицу в столбец количество запустите макрос приведенный выше и увидите что значение меняется .

Автор - llluckyman
Дата добавления - 02.05.2013 в 16:34
AlexM Дата: Четверг, 02.05.2013, 18:36 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Поменяйте две строки кода
[vba]
Код
.Range("a5:" & "h" & i - k + 4) = Sheets(1).Range("a" & k & ":h" & i).Value
.Range("a" & i - k + 5 & ":" & "h" & ((i - k + 1) * 2) + 2) = _
Sheets(1).Range("j" & k + 2 & ":q" & i + 1).Value
[/vba]
на три
[vba]
Код
Sheets(1).Range("a" & k & ":h" & i - 1).Copy (.Range("a5"))
Sheets(1).Range("j" & k + 2 & ":q" & i - 1).Copy (.Range("a" & i - k + 5))
Cells.Borders.LineStyle = xlNone
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 02.05.2013, 18:37
 
Ответить
СообщениеПоменяйте две строки кода
[vba]
Код
.Range("a5:" & "h" & i - k + 4) = Sheets(1).Range("a" & k & ":h" & i).Value
.Range("a" & i - k + 5 & ":" & "h" & ((i - k + 1) * 2) + 2) = _
Sheets(1).Range("j" & k + 2 & ":q" & i + 1).Value
[/vba]
на три
[vba]
Код
Sheets(1).Range("a" & k & ":h" & i - 1).Copy (.Range("a5"))
Sheets(1).Range("j" & k + 2 & ":q" & i - 1).Copy (.Range("a" & i - k + 5))
Cells.Borders.LineStyle = xlNone
[/vba]

Автор - AlexM
Дата добавления - 02.05.2013 в 18:36
llluckyman Дата: Четверг, 02.05.2013, 18:58 | Сообщение № 19
Группа: Гости
Серьезные тут товарищи ))) Спасибо !!!
 
Ответить
СообщениеСерьезные тут товарищи ))) Спасибо !!!

Автор - llluckyman
Дата добавления - 02.05.2013 в 18:58
llluckyman Дата: Четверг, 02.05.2013, 19:28 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Извините за назойливость ))) А можно ли сохранить не в этом листе таблицы, а чтоб сохранялись отдельно на каждом листе, и лист был назван по названию таблицы ?
 
Ответить
СообщениеИзвините за назойливость ))) А можно ли сохранить не в этом листе таблицы, а чтоб сохранялись отдельно на каждом листе, и лист был назван по названию таблицы ?

Автор - llluckyman
Дата добавления - 02.05.2013 в 19:28
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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