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

Вход

Регистрация

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

 

= Мир MS Excel/прошу поправить макрос по сохранению в формате html - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прошу поправить макрос по сохранению в формате html (Макросы/Sub)
прошу поправить макрос по сохранению в формате html
Nik57 Дата: Четверг, 18.05.2017, 10:02 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, суть проблемы в следующем.

Создал макрос, но так как соображаю в них не очень хорошо))) где то ошибка. Прошу помочь.

Необходимо чтобы при нажатии на кнопку "веб" на листе то веб приложенного примера, автоматически сохранялись только 5 документов в формате html диапазонов A1:B4 листа 7; диапазон A1:C4 листов 8и9; диапазон A1:D4 листов 10и11.
К сообщению приложен файл: 6874074.xlsm(69Kb)
 
Ответить
СообщениеЗдравствуйте, суть проблемы в следующем.

Создал макрос, но так как соображаю в них не очень хорошо))) где то ошибка. Прошу помочь.

Необходимо чтобы при нажатии на кнопку "веб" на листе то веб приложенного примера, автоматически сохранялись только 5 документов в формате html диапазонов A1:B4 листа 7; диапазон A1:C4 листов 8и9; диапазон A1:D4 листов 10и11.

Автор - Nik57
Дата добавления - 18.05.2017 в 10:02
sboy Дата: Четверг, 18.05.2017, 12:22 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1373
Репутация: 375 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
поправил, проверяйте
К сообщению приложен файл: 3461783.xlsm(75Kb)
 
Ответить
СообщениеДобрый день.
поправил, проверяйте

Автор - sboy
Дата добавления - 18.05.2017 в 12:22
Nik57 Дата: Четверг, 18.05.2017, 12:40 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
sboy, Спасибо за помощь!
 
Ответить
Сообщениеsboy, Спасибо за помощь!

Автор - Nik57
Дата добавления - 18.05.2017 в 12:40
Nik57 Дата: Вторник, 26.12.2017, 22:12 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, подскажите, где ошибка? Хочу сделать чтоб макрос работал на 1, 23,24,25 листы. Однако, он "загребает" с 1 по 25 листы включительно. Грешу вот на эту строчку "For x = 1 And 23 To 25" как ее правильно необходимо записать?
Заранее спасибо!

[vba]
Код
Const RangeA = "N1:R70"
Const RangeB = "A1:D71"
Const RangeC = "A1:AY92"
Const RangeD = "A1:E68"
Const FirstPartQuantity = 1
Const SecondPartQuantity = 23
Const ThirdPartQuantity = 24

Dim sh As Worksheet

'For Each sh In ThisWorkbook.Sheets
For x = 1 And 23 To 25
'If CInt(sh.Index) <= FirstPartQuantity Then
'OutRange = RangeA
'If CInt(sh.Index) <= SecondPartQuantity Then
'OutRange = RangeB
'If CInt(sh.Index) <= ThirdPartQuantity Then
'OutRange = RangeC
'Else
'OutRange = RangeD
'End If
'End If
Set sh = Sheets(x)
Select Case x
Case 1
OutRange = RangeA
Case 23
OutRange = RangeB
Case 24
OutRange = RangeC
Case Else
OutRange = RangeD
End Select
With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, OutRange, _
xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
.Publish (True)
.AutoRepublish = False
End With
Next x
End Sub
[/vba]


Сообщение отредактировал Nik57 - Вторник, 26.12.2017, 23:18
 
Ответить
СообщениеЗдравствуйте, подскажите, где ошибка? Хочу сделать чтоб макрос работал на 1, 23,24,25 листы. Однако, он "загребает" с 1 по 25 листы включительно. Грешу вот на эту строчку "For x = 1 And 23 To 25" как ее правильно необходимо записать?
Заранее спасибо!

[vba]
Код
Const RangeA = "N1:R70"
Const RangeB = "A1:D71"
Const RangeC = "A1:AY92"
Const RangeD = "A1:E68"
Const FirstPartQuantity = 1
Const SecondPartQuantity = 23
Const ThirdPartQuantity = 24

Dim sh As Worksheet

'For Each sh In ThisWorkbook.Sheets
For x = 1 And 23 To 25
'If CInt(sh.Index) <= FirstPartQuantity Then
'OutRange = RangeA
'If CInt(sh.Index) <= SecondPartQuantity Then
'OutRange = RangeB
'If CInt(sh.Index) <= ThirdPartQuantity Then
'OutRange = RangeC
'Else
'OutRange = RangeD
'End If
'End If
Set sh = Sheets(x)
Select Case x
Case 1
OutRange = RangeA
Case 23
OutRange = RangeB
Case 24
OutRange = RangeC
Case Else
OutRange = RangeD
End Select
With ThisWorkbook.PublishObjects.Add(xlSourceRange, _
ThisWorkbook.Path & "\" & sh.Name & ".htm", sh.Name, OutRange, _
xlHtmlStatic, ThisWorkbook.Name & "_" & sh.Name, "")
.Publish (True)
.AutoRepublish = False
End With
Next x
End Sub
[/vba]

Автор - Nik57
Дата добавления - 26.12.2017 в 22:12
Pelena Дата: Вторник, 26.12.2017, 22:24 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12299
Репутация: 2711 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Nik57, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеNik57, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 26.12.2017 в 22:24
doober Дата: Среда, 27.12.2017, 03:09 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 440
Репутация: 223 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте.
1 And 23 равно 1
1 And 24 равно 0
[vba]
Код
For Each n In Array(1, 23, 24, 25)

Next
[/vba]


 
Ответить
СообщениеЗдравствуйте.
1 And 23 равно 1
1 And 24 равно 0
[vba]
Код
For Each n In Array(1, 23, 24, 25)

Next
[/vba]

Автор - doober
Дата добавления - 27.12.2017 в 03:09
Nik57 Дата: Четверг, 28.12.2017, 12:21 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
doober, что то не совсем понял... не могли бы исправить сам код?))
 
Ответить
Сообщениеdoober, что то не совсем понял... не могли бы исправить сам код?))

Автор - Nik57
Дата добавления - 28.12.2017 в 12:21
sboy Дата: Четверг, 28.12.2017, 13:10 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1373
Репутация: 375 ±
Замечаний: 0% ±

Excel 2010
Грешу вот на эту строчку "For x = 1 And 23 To 25" как ее правильно необходимо записать?

[vba]
Код
For Each n In Array(1, 23, 24, 25)
[/vba]
 
Ответить
Сообщение
Грешу вот на эту строчку "For x = 1 And 23 To 25" как ее правильно необходимо записать?

[vba]
Код
For Each n In Array(1, 23, 24, 25)
[/vba]

Автор - sboy
Дата добавления - 28.12.2017 в 13:10
Nik57 Дата: Четверг, 28.12.2017, 22:19 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
sboy, это я понял, только он не работает с такой пропиской
 
Ответить
Сообщениеsboy, это я понял, только он не работает с такой пропиской

Автор - Nik57
Дата добавления - 28.12.2017 в 22:19
dima_dan2012 Дата: Четверг, 28.12.2017, 23:10 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 8 ±
Замечаний: 0% ±

Excel 2003,2007
Наверное вместо n x надо подставить ;)
[vba]
Код


For Each x In Array(1, 23, 24, 25)

[/vba]


WM :Z116994103939
 
Ответить
СообщениеНаверное вместо n x надо подставить ;)
[vba]
Код


For Each x In Array(1, 23, 24, 25)

[/vba]

Автор - dima_dan2012
Дата добавления - 28.12.2017 в 23:10
doober Дата: Пятница, 29.12.2017, 02:55 | Сообщение № 11
Группа: Друзья
Ранг: Обитатель
Сообщений: 440
Репутация: 223 ±
Замечаний: 0% ±

Excel 2007
For Each x In Array(1, 23, 24, 25)
Именно так.
For x = 1 And 23 To 25
равносильно For x = 1 To 25 так, как 1 And 23 равно 1


 
Ответить
Сообщение
For Each x In Array(1, 23, 24, 25)
Именно так.
For x = 1 And 23 To 25
равносильно For x = 1 To 25 так, как 1 And 23 равно 1

Автор - doober
Дата добавления - 29.12.2017 в 02:55
Nik57 Дата: Пятница, 29.12.2017, 22:48 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
да ребят, все получилось, благодарю все за помощь!
 
Ответить
Сообщениеда ребят, все получилось, благодарю все за помощь!

Автор - Nik57
Дата добавления - 29.12.2017 в 22:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прошу поправить макрос по сохранению в формате html (Макросы/Sub)
Страница 1 из 11
Поиск:

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