Привет, можно ли делать такие вещи в excel-2007 vb ...
Например, пользователь выбирает ячейку или диапазон .... скажем, ячейка G13, теперь эта ячейка будет отображаться в верхнем левом углу листа (то есть там, где обычно A1 находится по умолчанию), в случае выбора диапазона в верхнем левом углу угол диапазона будет отображаться в верхнем левом углу листа ...
Заранее большое спасибо!
2 ответа
Вот как вы можете переместить электронную таблицу в нужную ячейку:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
ActiveWindow.ScrollColumn = Target.Column
ActiveWindow.ScrollRow = Target.Row
Application.EnableEvents = True
End Sub
Я думаю, вы обнаружите, что это сведет пользователей с ума, но вы, вероятно, можете изменить это, чтобы получить более дружелюбный эффект.
ALT + F11
Дважды щелкните ThisWorkbook в древовидной структуре слева (внутри VBA).
Вставьте этот код в класс WorkBook
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Cells(1, 1).Value = Selection.Cells(1).Address
End Sub
Измените Selection.Cells(1).Address
на Selection.Cells(1).Value
Примечание. Это произойдет для всех листов в книге. Вы можете изменить его, чтобы он работал для определенного листа, добавив проверку с помощью экземпляра Sh
в коде.
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) - это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования любого приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook] или [ms-project].