а я знаю WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке. и столбцы с минусом она не поддерживает
а я знаю WorksheetFunction.VLookup, он же Application.VLookup это та же функция ВПР, тока в другой обертке. и столбцы с минусом она не поддерживает krosav4ig
прокрутка внутри листа: на кол-во видимых в окне строк(вертикально) PgUp PgDown на кол-во видимых в окне столбцов(горизонтально) Alt+PgUp Alt+PgDown
про переход в конец области уже сказано выше хотя есть еще 1 способ: нажать end (при этом активируется режим перехода в конец), после этого нажать нужную стрелку
перейти на следующий лист Ctrl+PgDown перейти на предыдущий лист Ctrl+PgUp
перейти к следующему файлу/окну excel Ctrl+Tab перейти к предыдущему файлу/окну excel Ctrl+Shift+Tab
Ctrl+Tab и Ctrl+Shift+Tab работают только в пределах группы окон с одним общим предком (процессом excel)
прокрутка внутри листа: на кол-во видимых в окне строк(вертикально) PgUp PgDown на кол-во видимых в окне столбцов(горизонтально) Alt+PgUp Alt+PgDown
про переход в конец области уже сказано выше хотя есть еще 1 способ: нажать end (при этом активируется режим перехода в конец), после этого нажать нужную стрелку
перейти на следующий лист Ctrl+PgDown перейти на предыдущий лист Ctrl+PgUp
перейти к следующему файлу/окну excel Ctrl+Tab перейти к предыдущему файлу/окну excel Ctrl+Shift+Tab
Ctrl+Tab и Ctrl+Shift+Tab работают только в пределах группы окон с одним общим предком (процессом excel)krosav4ig
Rioran, здравствуйте, спасибо, что отозвались, но к сожалению предложенный вами код не решит мою проблему. дело в том, что в примере поля с таким кодом
,т.е. состоят из нескольких полей, вложенных друг в друга. Эти поля будут использоваться для формирования документов по шаблону. Необходимо во всех полях заменить имя атрибута на его значение. В рабочем шаблоне таких полей может быть очень много, атрибутов еще больше, и уровней вложенности может быть больше. Есть даже поле, в котором есть 2 надписи, одна из которых должна выводиться при совпадении определеного условия (в каждой из этих надписей находится таблица в которой так же есть вычисляемые поля). как я ни пытался, произвести замену во всех полях без потери работоспособности формул в полях у меня не получается. В примере нужно заменить "Первый" на "Третий". Текст заменяется, но скобки полей, которые внутри поля заменяются на ^0019 и ^0021 и поле перестает правильно вычисяться.
Rioran, здравствуйте, спасибо, что отозвались, но к сожалению предложенный вами код не решит мою проблему. дело в том, что в примере поля с таким кодом
,т.е. состоят из нескольких полей, вложенных друг в друга. Эти поля будут использоваться для формирования документов по шаблону. Необходимо во всех полях заменить имя атрибута на его значение. В рабочем шаблоне таких полей может быть очень много, атрибутов еще больше, и уровней вложенности может быть больше. Есть даже поле, в котором есть 2 надписи, одна из которых должна выводиться при совпадении определеного условия (в каждой из этих надписей находится таблица в которой так же есть вычисляемые поля). как я ни пытался, произвести замену во всех полях без потери работоспособности формул в полях у меня не получается. В примере нужно заменить "Первый" на "Третий". Текст заменяется, но скобки полей, которые внутри поля заменяются на ^0019 и ^0021 и поле перестает правильно вычисяться.krosav4ig
.Find.Execute If .Find.Found Then .Find.Execute Replace:=2 End If End With
With appWord.Documents(FName).Shapes If .Count Then For zz = 1 To .Count If .Item(zz).TextFrame.HasText Then With .Item(zz).TextFrame.TextRange If InStr(1, .Text, s1, 1) Then .Find.Text = s1: .Find.Replacement.Text = s2 .Find.Execute Replace:=2 .Fields.Update End If End With End If Next End If End With
appWord.Documents(FName).Windows(1).View.ShowFieldCodes = 0 appWord.Documents(FName).Fields.Update appWord.Visible = 1 appWord.ScreenUpdating = 1 End Sub
[/vba]
остался 1 вопрос хотелось бы избавиться от строки [vba]
Код
.Fields.Update
[/vba] в цикле, но если ее убрать, то поля в надписях не обновляются. Как с этим бороться?
Rioran, спасибо, пока все это навело меня на такую мысль [vba]
Код
Sub replace_() Dim appWord As Object, docWord As Object Dim OfficeApp As Object, ReadOnly As Boolean Dim path$, FName$, docpath$
path = ThisWorkbook.path: FName = "replace.doc" docpath = path & "\" & FName: ReadOnly = True Set OfficeApp = CreateObject("Word.Application") Set docWord = OfficeApp.Documents.Open(Filename:=docpath, _ ReadOnly:=ReadOnly) If docWord Is Nothing Then Exit Sub Set appWord = docWord.Application
.Find.Execute If .Find.Found Then .Find.Execute Replace:=2 End If End With
With appWord.Documents(FName).Shapes If .Count Then For zz = 1 To .Count If .Item(zz).TextFrame.HasText Then With .Item(zz).TextFrame.TextRange If InStr(1, .Text, s1, 1) Then .Find.Text = s1: .Find.Replacement.Text = s2 .Find.Execute Replace:=2 .Fields.Update End If End With End If Next End If End With
appWord.Documents(FName).Windows(1).View.ShowFieldCodes = 0 appWord.Documents(FName).Fields.Update appWord.Visible = 1 appWord.ScreenUpdating = 1 End Sub
[/vba]
остался 1 вопрос хотелось бы избавиться от строки [vba]
Код
.Fields.Update
[/vba] в цикле, но если ее убрать, то поля в надписях не обновляются. Как с этим бороться?krosav4ig
я уже прям очень хочу увидеть ваши решения, все мои потуги сделать формулу короче той, что у меня получилась (139 без равно) ни к чему не привели, знаний формул и опыта не хватает Хотя, если по условию в B1 должно быть слово/фраза из всех букв A1, то 138 без равно ...
я уже прям очень хочу увидеть ваши решения, все мои потуги сделать формулу короче той, что у меня получилась (139 без равно) ни к чему не привели, знаний формул и опыта не хватает Хотя, если по условию в B1 должно быть слово/фраза из всех букв A1, то 138 без равно ...krosav4ig