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

Вход

Регистрация

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

 

= Мир MS Excel/Создать ЛИСТ, присвоить имя и скопировать данные - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создать ЛИСТ, присвоить имя и скопировать данные (Макросы/Sub)
Создать ЛИСТ, присвоить имя и скопировать данные
Viper Дата: Вторник, 15.09.2015, 16:08 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток! Окажите помощь!
Нужно в файле создать листы, присвоить им имена подразделений и из исходного листа скопировать данные относящиеся к этому подразделению (с учетом формата и шапкой таблицы) как в приложенном файле

Заранее спасибо!
К сообщению приложен файл: 2655048.xlsx (24.0 Kb)


Сообщение отредактировал Viper - Вторник, 15.09.2015, 16:12
 
Ответить
СообщениеДоброго времени суток! Окажите помощь!
Нужно в файле создать листы, присвоить им имена подразделений и из исходного листа скопировать данные относящиеся к этому подразделению (с учетом формата и шапкой таблицы) как в приложенном файле

Заранее спасибо!

Автор - Viper
Дата добавления - 15.09.2015 в 16:08
nilem Дата: Вторник, 15.09.2015, 17:00 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Viper, привет
Вот здесь есть примерчик. Кажется, подходит для Вас


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеViper, привет
Вот здесь есть примерчик. Кажется, подходит для Вас

Автор - nilem
Дата добавления - 15.09.2015 в 17:00
Roman777 Дата: Вторник, 15.09.2015, 17:33 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Viper, пока так... грубо но времени не было. Нужно только все листы кроме вашего общего листа удалить.
[vba]
Код
Sub NewSheetonList()
Dim i As Long, i_n As Long, n As Long, i1 As Long
Dim Podrazd() As String, sovpal As Long
i_n = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row

ReDim Podrazd(i_n - 1)
Dim k As Long
k = 1
For i = 2 To i_n
   k = k + 1
   sovpal = 0
   Podrazd(i - 1) = Worksheets(1).Cells(i, 1)
   For n = 1 To k - 2
     If Podrazd(n) <> "" Then
      If Podrazd(n) = Podrazd(i - 1) Then
         sovpal = sovpal + 1
      End If
     End If
   Next n
   If sovpal = 0 Then
     Worksheets.Add after:=Worksheets(Worksheets.Count)
     Worksheets(Worksheets.Count).name = Podrazd(i - 1)
     Worksheets(1).Cells(1, 1).Resize(, 7).Copy Worksheets(Worksheets.Count).Cells(1, 1)
     i1 = i
     s = 0
     Do
     i1 = i1 + 1
     s = s + 1
     Loop While Worksheets(1).Cells(i1, 1) = Podrazd(i - 1)
     Worksheets(1).Cells(i1 - s, 1).Resize(s, 7).Copy Worksheets(Worksheets.Count).Cells(2, 1)
   End If
Next i
End Sub
[/vba]


Много чего не знаю!!!!
 
Ответить
СообщениеViper, пока так... грубо но времени не было. Нужно только все листы кроме вашего общего листа удалить.
[vba]
Код
Sub NewSheetonList()
Dim i As Long, i_n As Long, n As Long, i1 As Long
Dim Podrazd() As String, sovpal As Long
i_n = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row

ReDim Podrazd(i_n - 1)
Dim k As Long
k = 1
For i = 2 To i_n
   k = k + 1
   sovpal = 0
   Podrazd(i - 1) = Worksheets(1).Cells(i, 1)
   For n = 1 To k - 2
     If Podrazd(n) <> "" Then
      If Podrazd(n) = Podrazd(i - 1) Then
         sovpal = sovpal + 1
      End If
     End If
   Next n
   If sovpal = 0 Then
     Worksheets.Add after:=Worksheets(Worksheets.Count)
     Worksheets(Worksheets.Count).name = Podrazd(i - 1)
     Worksheets(1).Cells(1, 1).Resize(, 7).Copy Worksheets(Worksheets.Count).Cells(1, 1)
     i1 = i
     s = 0
     Do
     i1 = i1 + 1
     s = s + 1
     Loop While Worksheets(1).Cells(i1, 1) = Podrazd(i - 1)
     Worksheets(1).Cells(i1 - s, 1).Resize(s, 7).Copy Worksheets(Worksheets.Count).Cells(2, 1)
   End If
Next i
End Sub
[/vba]

Автор - Roman777
Дата добавления - 15.09.2015 в 17:33
Viper Дата: Среда, 16.09.2015, 08:46 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Roman777,
Спасибо большое!!!

nilem,
Спасибо!!! Постараюсь разобраться, очень полезная статья, не зря в разделе "Полезные приемы" :))
 
Ответить
СообщениеRoman777,
Спасибо большое!!!

nilem,
Спасибо!!! Постараюсь разобраться, очень полезная статья, не зря в разделе "Полезные приемы" :))

Автор - Viper
Дата добавления - 16.09.2015 в 08:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создать ЛИСТ, присвоить имя и скопировать данные (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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