Терпеть не могу Microsoft Query. Когда работаю в Excel с Pivot Tables и Query Tables мне зачастую приходится менять SQL, который это изделие, Microsoft Query, безжалостно меняет как пожелает. Сталин бы это счёл "вредительством"...
Сегодня я нашёл весьма оригинальный и быстрый способ редактировать SQL с помощью двух очень простых макросов...
Sub GetQueryTableCommandText()
Selection = Selection.Offset(1, 1).QueryTable.CommandText
' format nicely
Selection.Font.Name = "Courier New"
Selection.Font.Size = 8
Selection.ColumnWidth = 80
Selection.Rows.AutoFit
Selection.Columns.AutoFit
End Sub
Sub SetQueryTableCommandText()
Var = Selection
Selection.Offset(1, 1).QueryTable.CommandText = Var
Selection.Clear
Selection.EntireColumn.ColumnWidth = ActiveSheet.StandardWidth
Selection.EntireColumn.AutoFit
Selection.Offset(1, 1).QueryTable.Refresh
End Sub
Теперь если привязать первый, скажем, к Ctrl+Shift+G, а второй, скажем к Ctrl+Shift+S, то вызванный к жизни SQL из близлежащей QueryTable можно спокойно редактировать не взирая на злобные происки MSQuery.