Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2012, 15:05   #1
Manager777
 
Регистрация: 28.12.2012
Сообщений: 3
По умолчанию Автоматическое добавление столбца во втором листе

Здравствуйте!
Сам я не силен в макросах, столкнулся с такой неприятной ситуацией:
имеется на входе несколько сотен файлов с именем ABC_дата.xls
необходимо в каждый файл на всех листах добавить 1 столбец (обязательно чтоб первый был) и добавить 1000 ячеек в этот столбец содержащие имя файла.
Для примера выложил 2 файла
1ABC_20100127.xls - то что имеем на входе
2ABC_20100127.xls - вот что имеем на выходе

сам файл переименовывать не надо)
Вложения
Тип файла: rar Desktop.rar (26.3 Кб, 12 просмотров)
Manager777 вне форума Ответить с цитированием
Старый 28.12.2012, 16:41   #2
Manager777
 
Регистрация: 28.12.2012
Сообщений: 3
По умолчанию

Блин пришлось почитать интернет - нашел как подставлять имя файла, теперь вопрос как сделать "loop" или чтоб все файлы автоматом обрабатывались

Sheets("LIST2").Select
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A7").Select
ActiveCell.FormulaR1C1 = ActiveWorkbook.Name
Range("A7").Select
Selection.AutoFill Destination:=Range("A7:A1000"), Type:=xlFillDefault
Manager777 вне форума Ответить с цитированием
Старый 28.12.2012, 18:38   #3
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Manager777, есть следующие способы указывать файлы, которые нужно обрабатывать:
  1. сделать, чтобы во время выполнения кода открывалось диалоговое окно и можно было выбрать папку, в которой находятся книги Excel, которые надо обработать;
  2. можно в самом коде написать путь папки, в которой обрабатывать книги Excel.
Нужно ещё учесть: обрабатывать книги во вложенных папках или нет.
Скрипт вне форума Ответить с цитированием
Старый 28.12.2012, 20:09   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> необходимо в каждый файл на всех листах добавить 1 столбец
В примере добавлено только на одном листе. Как правильно?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 28.12.2012, 20:22   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Для всех листов
Код:
Const FLDR = "D:\man\" 'папка с файлами

Sub bb()
Dim f$, ws
Application.ScreenUpdating = False
f = Dir(FLDR & "*.xls")
Do While f <> ""
    With Workbooks.Open(FLDR & f)
        For Each ws In .Worksheets
            ws.Columns(1).Insert
            ws.Range("A7:A1000") = Left(f, InStrRev(f, ".") - 1)
        Next
        .Close True
    End With
    f = Dir
Loop
Application.ScreenUpdating = True
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 28.01.2013, 18:05   #6
Manager777
 
Регистрация: 28.12.2012
Сообщений: 3
По умолчанию

СПАСИБО ЗА ОТВЕТЫ!!!
Решил эту задачу, хоть и криво но решил))
Manager777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтоб во втором листе выводилась нормальная таблица с границами Igor_zic Microsoft Office Excel 1 25.03.2012 23:31
Выбор из одного столбца по условию выполняющемуся во втором столбце mjpv Microsoft Office Excel 2 30.04.2011 11:58
Осуществить поиск записей по двум символьным полям. Найденные записи отобразить на втором листе мария2507 Microsoft Office Excel 11 17.01.2010 15:36
ячейка на одном листе, в которую необходимо подставлять данные из столбца, находящегося на другом листе Ирина Водолагина Microsoft Office Excel 4 04.03.2009 23:38
Фильтрация данных на втором листе по данным на первом ppl Microsoft Office Excel 3 13.08.2008 14:07