Страница: 1 |
Страница: 1 |
Вопрос: Помогите с VBA и Excel
Добавлено: 01.06.05 13:19
Автор вопроса: Данила
1.Как можно обратиться к листу в Excel не зная его имени?
2.Как можно применить макрос ко всей книге Excel?
3.Как изменить имя листа на кодовое?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 01.06.05 15:23
1. По номеру.
2. Что имел ты в виду?
3. .Name = .CodeName?
Номер ответа: 2
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #2
Добавлено: 01.06.05 15:36
Есть некий макрос, который необходимо применить к каждой странице Книги. Допустим поменять шрифт на всех страницах. Как это можно осуществить?
Номер ответа: 3
Автор ответа:
ActiveX
Вопросов: 0
Ответов: 73
Профиль | | #3
Добавлено: 01.06.05 18:18
For Each ws In Worksheets
With ws.Range("A1".Font
.Size = 20
.ColorIndex = 3
.Name = "Tahoma"
End With
Next
--------------
Worksheets.Select
Range("A1".Select
With Selection.Font
.Size = 20
.ColorIndex = 3
.Name = "Tahoma"
End With
Номер ответа: 4
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #4
Добавлено: 03.06.05 14:16
Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 13.05.2005 (User)
Dim myOlApp As Object
Dim MyWo As Excel.Workbook
Dim mysheet As Excel.Worksheet
Dim n As Integer
Set myOlApp = CreateObject("excel.Application"
Set MyWo = myOlApp.Workbooks.Open("C:\Книга3.xls"
Debug.Print MyWo.Worksheets.Count
For Each mysheet In Worksheets
With mysheet.Range("A1".Font
 ebug.Print mysheet.CodeName
Cells.Replace What:="*Табл*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Select
Range("M14".Activate
Cells.Select
Range("M14".Select
With Selection.Font
.Name = "Times New Roman"
.Size = 7.5
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
Range("B55".Select
End With
End With
Next
Set mysheet = Nothing
MyWo.Close
Set MyWo = Nothing
Set myOlApp = Nothing
End Sub
Чего здесь не правильно???
В идеале она должна на каждой странице удалять слово "Таблица" и менять шрифт на "Times new roman". Я не понимаю почему она не работает!
Номер ответа: 5
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 03.06.05 15:01
Скажи мне, как компьютер должен понять, к какому именно листу ты хочешь обратиться, если ты не говоришь ему об этом?
См. первую часть ответа ActiveX.
Номер ответа: 6
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #6
Добавлено: 03.06.05 15:25
For Each mysheet In Worksheets
With mysheet.Range("A1".Font
End With
Next
Вот же он у меня и используеться
Номер ответа: 7
Автор ответа:
ActiveX
Вопросов: 0
Ответов: 73
Профиль | | #7
Добавлено: 03.06.05 16:39
For Each ws In Worksheets
With ws.Cells
.Replace What:="Таблица", Replacement:=""
.Font.Name = "Times New Roman"
End With
Next
- Если оставить "*Табл*" то в результате вместо - Таблица профессионального роста, мы получим -
- Шрифт будет изменен во всех ячейках рабочего листа.
Номер ответа: 8
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #8
Добавлено: 03.06.05 17:01
With mysheet.Range("A1".Font
End With
Next
Вот же он у меня и используеться
Нет, у тебя используется Selection.Font.
Ты правда не видишь разницы?
Номер ответа: 9
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #9
Добавлено: 06.06.05 14:57
Спасибо, теперь всё нормально