Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Уважаемые форумчане, проблема VBA excel / 15 сообщений из 15, страница 1 из 1
10.03.2012, 18:57
    #37697974
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub DivFile()
    Dim i As Long, s As String, ws As Worksheet
    Application.ScreenUpdating = False: Set ws = ActiveSheet
    For i = 1 To ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1 Step 46
        Workbooks.Add xlWBATWorksheet: ws.Rows(i & ":" & i + 45).Copy [A1]
        s = Replace(ThisWorkbook.FullName, ".xls", "-" & (Fix(i / 46) + 1) & ".xls")
        ActiveWorkbook.SaveAs s: ActiveWorkbook.Close
    Next
End Sub



Необходимо сохранить форматирование, как на исходнике!!! ВЫРУЧАЙТЕ!
...
Рейтинг: 0 / 0
10.03.2012, 19:01
    #37697979
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
А проблема-то где?
...
Рейтинг: 0 / 0
10.03.2012, 19:06
    #37697986
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Shocker.Pro,

Проблема в том, что при разбиении на новые файлы форматирование пропадает, то есть ширина строк и столбцов не переходит с исходника) я не программист, я любитель, надеялся что Вы мне подскажете где проблема)
...
Рейтинг: 0 / 0
10.03.2012, 19:08
    #37697990
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Подскажем, только надо было не забыть ее озвучить... ща поэкспериментирую
...
Рейтинг: 0 / 0
10.03.2012, 19:09
    #37697992
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Shocker.Pro,

Буду премного благодарен Вам)
...
Рейтинг: 0 / 0
10.03.2012, 19:16
    #37697998
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Для начала тут вообще неправильный подход - у меня книга копируется сама в себя... не стоит работать с ActiveWorkbook почти никогда.

При копировании строк высота строк у мня копируется, не копируется только ширина столбцов. Сколько столбцов, ширину которых надо скопировать?
...
Рейтинг: 0 / 0
10.03.2012, 19:23
    #37698006
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Shocker.Pro,

14 столбцов. Мне подсказали этот код, в результате выходит все то что мне надо, за исключением, ширины столбцов)
...
Рейтинг: 0 / 0
10.03.2012, 19:32
    #37698016
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
astoryМне подсказали этот кодСкажите тому, кто подсказал этот код, чтобы забыл про ActiveWorkbook. Может в каких-то версиях это работает, у меня - нет. А также, не забывал вернуть Application.ScreenUpdating на место, а то будет очень весело.

Переделал код универсально и добавил изменение ширины столбцов
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub DivFile()
    
    Dim i As Long, j As Integer, s As String, ws As Worksheet, NewWB As Workbook
    Application.ScreenUpdating = False
    Set ws = ActiveSheet
    For i = 1 To ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1 Step 46
        Set NewWB = Workbooks.Add(xlWBATWorksheet)
        ws.Rows(i & ":" & i + 45).Copy NewWB.Worksheets(1).Range("A1")
        For j = 1 To 14
          NewWB.Worksheets(1).Columns(j).ColumnWidth = ws.Columns(j).ColumnWidth
        Next
        s = Replace(ThisWorkbook.FullName, ".xls", "-" & (Fix(i / 46) + 1) & ".xls")
        NewWB.SaveAs s
        NewWB.Close
        Set NewWB = Nothing
    Next
    Application.ScreenUpdating = True
    
End Sub
...
Рейтинг: 0 / 0
10.03.2012, 19:37
    #37698020
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Shocker.Pro,

Благодарю Вас, в течение получаса проверю)
...
Рейтинг: 0 / 0
10.03.2012, 19:48
    #37698025
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
astory,

Спасибо огромное, очень выручили, и если есть возможнось подскажите как сделать чтобы он присваивал имена файлам, такие же как значения первой ячейки каждого файла, если конечно это реально, заранее спасибо)
...
Рейтинг: 0 / 0
10.03.2012, 19:58
    #37698037
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
astoryastory,
чтобы он присваивал имена файлам, такие же как значения первой ячейки каждого файла, если конечно это реально, заранее спасибо)
собака зарыта в том числе здесь
Код: vbnet
1.
2.
s = Replace(ThisWorkbook.FullName, ".xls", "-" & (Fix(i / 46) + 1) & ".xls")
        NewWB.SaveAs s
...
Рейтинг: 0 / 0
10.03.2012, 20:04
    #37698041
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
замените строку
s = ...
на
Код: vbnet
1.
s = ThisWorkbook.Path + Application.PathSeparator + NewWB.Worksheets(1).Range("A1").Text + ".xls"


но помните, ячейка не должна содержать символов, недопустимых в имени файла
...
Рейтинг: 0 / 0
10.03.2012, 20:05
    #37698042
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
катастрофасобака зарыта в том числе здесь
Эндрю, я ходатайствовал перед Дюком за разбанивание тебя, однако ты уже хочешь заставить меня пожалеть о своем поступке.
...
Рейтинг: 0 / 0
10.03.2012, 20:10
    #37698049
катастрофа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
[quot Shocker.Pro]катастрофасобака зарыта в том числе здесь
и зачем же Вы указали о её замене?
...
Рейтинг: 0 / 0
10.03.2012, 21:09
    #37698089
astory
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые форумчане, проблема VBA excel
Shocker.Pro,

Спасибо ОГРОМНЕЙШЕЕ Вам) Выручили нереально, сэкономили кучу моего времени! Еще раз СПАСИБО!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Уважаемые форумчане, проблема VBA excel / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]