Изменить размер формы vba excel
Всем привет!
У меня такой вопрос: необходимо сделать форму шириной (Width = 54), а в настройках формы данный параметр невозможно сделать меньше значения "99". Как программно уменьшить ширину формы?
Всем привет!
У меня такой вопрос: необходимо сделать форму шириной (Width = 54), а в настройках формы данный параметр невозможно сделать меньше значения "99". Как программно уменьшить ширину формы? damask_86ru
[/vba]Но у меня и в параметрах уменьшается до любого размера.
Если не поможет, приложите файл с формой.
[/vba]Но у меня и в параметрах уменьшается до любого размера.
Если не поможет, приложите файл с формой. Manyasha
[/vba]Но у меня и в параметрах уменьшается до любого размера.
Если не поможет, приложите файл с формой. Автор - Manyasha
Дата добавления - 01.06.2015 в 10:24
Manyasha, здраствуйте!
У меня ничего не выходит (. Файл во вложении. Использую Excel 2003 и 2007. damask_86ru
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Private ihWnd As Long
Private Sub UserForm_Initialize()
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0
End Sub
[/vba]Думаю, вы придумаете, как именно вам нужно управлять размерами формы.
Для 2003 уберите из деклараций функций PtrSafe и замените тип LongPtr на Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Private ihWnd As Long
Private Sub UserForm_Initialize()
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0
End Sub
[/vba]Думаю, вы придумаете, как именно вам нужно управлять размерами формы.
Для 2003 уберите из деклараций функций PtrSafe и замените тип LongPtr на Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Skype: andre.tm.007
Donate: Q iwi: 9517375010
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Private ihWnd As Long
Private Sub UserForm_Initialize()
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0
End Sub
[/vba]Думаю, вы придумаете, как именно вам нужно управлять размерами формы.
Для 2003 уберите из деклараций функций PtrSafe и замените тип LongPtr на Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
AndreTM, простите, но что то не могу ничего сообразить. Вы не могли бы подсказать, как именно можно изменить ширину с помощью данного кода? Как я вижу и понимаю, можно изменить отступы слева и сверху, а так же изменить высоту формы.
Вот мой код в форме:
Private Const GWL_STYLE As Long = -16&
Private Const GWL_EXSTYLE = -20&
Private Const WS_CAPTION As Long = &HC00000
Private Const WS_BORDER As Long = &H800000
Private Const WS_EX_LAYERED = &H80000
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_NOZORDER = &H4
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Type POINTAPI
x As Long
Y As Long
End Type
Private Declare Function DrawMenuBar Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'Private Declare Function AnimateWindow Lib "user32" (ByVal hWnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
Private Declare Function GetCursorPos& Lib "user32.dll" (lpPoint As POINTAPI)
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim iStyle As Long
iStyle = GetWindowLong(ghWnd_Info, GWL_STYLE)
iStyle = iStyle And Not WS_CAPTION And Not WS_BORDER
SetWindowLong ghWnd_Info, GWL_STYLE, iStyle
SetWindowLong ghWnd_Info, GWL_EXSTYLE, 0
DrawMenuBar ghWnd_Info
'регулируем ширину формы
'-------------------------------------------------------------------
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, Me.Width, Me.Height, 0
AndreTM, простите, но что то не могу ничего сообразить. Вы не могли бы подсказать, как именно можно изменить ширину с помощью данного кода? Как я вижу и понимаю, можно изменить отступы слева и сверху, а так же изменить высоту формы.
Вот мой код в форме:
Private Const GWL_STYLE As Long = -16&
Private Const GWL_EXSTYLE = -20&
Private Const WS_CAPTION As Long = &HC00000
Private Const WS_BORDER As Long = &H800000
Private Const WS_EX_LAYERED = &H80000
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_NOZORDER = &H4
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Type POINTAPI
x As Long
Y As Long
End Type
Private Declare Function DrawMenuBar Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'Private Declare Function AnimateWindow Lib "user32" (ByVal hWnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
Private Declare Function GetCursorPos& Lib "user32.dll" (lpPoint As POINTAPI)
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim iStyle As Long
iStyle = GetWindowLong(ghWnd_Info, GWL_STYLE)
iStyle = iStyle And Not WS_CAPTION And Not WS_BORDER
SetWindowLong ghWnd_Info, GWL_STYLE, iStyle
SetWindowLong ghWnd_Info, GWL_EXSTYLE, 0
DrawMenuBar ghWnd_Info
'регулируем ширину формы
'-------------------------------------------------------------------
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, Me.Width, Me.Height, 0
Private Const GWL_STYLE As Long = -16&
Private Const GWL_EXSTYLE = -20&
Private Const WS_CAPTION As Long = &HC00000
Private Const WS_BORDER As Long = &H800000
Private Const WS_EX_LAYERED = &H80000
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_NOZORDER = &H4
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Type POINTAPI
x As Long
Y As Long
End Type
Private Declare Function DrawMenuBar Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'Private Declare Function AnimateWindow Lib "user32" (ByVal hWnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
Private Declare Function GetCursorPos& Lib "user32.dll" (lpPoint As POINTAPI)
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim iStyle As Long
iStyle = GetWindowLong(ghWnd_Info, GWL_STYLE)
iStyle = iStyle And Not WS_CAPTION And Not WS_BORDER
SetWindowLong ghWnd_Info, GWL_STYLE, iStyle
SetWindowLong ghWnd_Info, GWL_EXSTYLE, 0
DrawMenuBar ghWnd_Info
'регулируем ширину формы
'-------------------------------------------------------------------
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, Me.Width, Me.Height, 0
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Введение
В этой статье описано, как управлять размером пользовательской формы в Microsoft Excel.
Дополнительные сведения
В Excel не поддерживается метод управления размером пользовательской формы с помощью кнопки развернуть или
Свернуть . Размер пользовательской формы можно контролировать тремя способами.
Способ 1: изменение размера пользовательской формы вручную
Чтобы вручную изменить размер пользовательской формы, выполните указанные ниже действия.
В пользовательской форме (UserForm1)захватите маркер изменения размера в правом нижнем углу.
Перетащите UserForm1 к нужному размеру.
Способ 2: изменение свойств пользовательской формы
Чтобы изменить свойства UserForm, выполните указанные ниже действия.
Щелкните UserForm.
В свойствах — UserForm1задайте высоту и ширину соответствующих значений.
Способ 3: указание размера пользовательской формы в макросе
Чтобы изменить размер пользовательской формы в макросе, выполните указанные ниже действия.
Щелкните правой кнопкой мыши свою UserFormи выберите команду Просмотреть код.
В макросе UserForm выполните одно из следующих действий:
Введите UserForm1. Height = число, где число — число от 0 до + 32 767. Более высокие значения могут также работать в зависимости от конфигурации системы.
Введите UserForm1. Width = Number, где число — число от 0 до + 32 767. Более высокие значения могут также работать в зависимости от конфигурации системы.
В VB у Form есть свойство BorderStyle, которому можно присвоить значение Sizebale, а в VBA такому же свойству объекта UserForm можно присвоить только BorderStyleNone или BorderStyleSignle.
Кроме этого, хотелось бы сделать окно без заголовка. Возможно ли?
Как сделать динамическую таблицу меняющую размеры?
Как сделать динамическую таблицу меняющую размеры?
Креатором сделать меняющую размер форму
Qt 4.7. Хочу чтобы при растягивании формы меняли размер и компоненты: graphicsView и кнопка. Из.
Как сделать форму меняющую цвет
Кто подскажет как сделать чтобы форма меняла цвет при заполнение данных? При открытии формы цвет.
Возможно ли сделать календарь используя html-форму (соблюдая размеры, высоту таблицы и т.д.)
kidASM, а возможно ли сделать календарь используя html-форму (соблюдая размеры, высоту таблицы и.
Драг-дропом? Боюсь, не прокатит. А где ты видел диалоговое окно с такими возможностями - там же элементы управления. Как вариант - сделай 4 кнопочки примерно так: http://www.mfco.ru/resform.zip
PS не получается "Прикрепить файл" - говорит "Только txt, zip, rar, gif, jpg или png", хотя давал ему и rar, и zip (
> А где ты видел диалоговое окно с такими возможностями
Например, в VB6.
> сделай 4 кнопочки
есть у меня такой вариант, но им пользоваться непривычно и неудобно.
Я думаю, можно как-то через API. К тому же мне нужно сворачивать окно до размера одной строки и без заголовка.
Это можно сделать на VB, но с ним другая беда: обработка объектов выполняется значительно медленнее, чем в VBA (СorelDraw).
Драг-дропом?-Можно сделать имитацию:
Вставляю Label и использую события MouseDown,MouseMove,MouseUp.
Правда при движении мыши граница окна не изменяется, только при MouseUp.
Отлично! Именно то, что нужно. Просто я мало с API имел дело и сам не нашел бы нужных функций. Спасибо огромное!
Конечно серьезно - нафига мне класть файлы на свой сервер, а потом ссылку давать? А указание на файл на локальном диске дает ошибку "только txt, zip, rar, gif, jpg, png", хотя ему даю rar-архив
To Johny Walker:
При нажатии над формой (в данном случае левой, для правой "If Button = 2"), и удерживая кнопку двигать мышу - меняется размер формы. Безо всяких АПИ
Изменить размеры формы при выборе RadioButton
есть такая программа,которая реализует приложение динамически создающее новую форму, свойства.
Как программно изменить степень прозрачности формы
Можно ли с помощью Opacity сделать программно прозрачность?
Изменить размеры меню в дизайнере
В RunTime понятно: AutoSize для всех пунктов в False и пересоздаём все пункты с новыми размерами.
Изменить позицию и размеры прямоугольника
Изменить координаты точки можно следующим образом e.TextRectangle.Location + New Point(-1, -1) .
Синхронно изменить размеры кнопки и RectangleShape
Поместил несколько элементов управления на RectangleShape - кнопку и 2 RadioButton. Хочу синхронно.
Изменить размеры радиально-кругового элемента управления
Этот элемент располагается по всей ширение и длине формы как задать ему собственные размеры? .
Как изменить размеры рисунка загруженного в переменную без загрузки в PictureBox1?
Здравствуйте. В переменную Foto загружен маленьких размеров рисунок (50x50). Как, не выводя в.
Подогнать размеры фона под размер формы
извините, но не нашел отдел для начинающим. расположил на форме рисунок(jpg) при изменении размера.
Как изменить размеры формы?
Доброго времени суток! Подскажите пожалуйста, как изменить размеры второстепенной формы не из.
Изменить размеры формы по нажатию на кнопку
Доброго времени суток. Я хотел бы узнать как изменять размеры формы по нажатию кнопки.
When creating a VBA UserForm, we generally set it to a specific size. Most other forms and windows within the Excel and Windows environments do not have a fixed sized; they can be resized by the user. With a bit of coding magic, we can achieve a similar resizing effect for our VBA UserForms. This post will show you how.
There are two solutions presented below, a Windows API method and a VBA only method. Of the two, the Windows API solution has a smoother, more integrated feel for the user, but it will only work on Windows. If your code is expected to work on Windows and Mac, then using the VBA solution is the better option.
Windows API Solution
Windows API codes make use of special functions which are not part of Excel or VBA, but part of the main Windows application. The topic of Windows API codes is too big to discuss here, but by following the instructions below you can still get the code working, even if you don’t have a full understanding of why it works.
Remember, Windows API codes will only work on Windows.
How does it work?
- Change the Windows setting to enable the UserForm to be resized.
- On the UserForm use the Resize event to capture when the form is resized.
- The objects’ size or position changes after each resize event.
Setting up the Windows API code
Copy the following code into a new standard module. It must be included at the top of the module before any functions or subprocedures, but below the Option Explicit statement (if there is one).
This following code must be included within the same module as the code above but does not need to be directly below it.
The two code segments above create a reusable procedure which we can use to toggle the UserForm’s resize setting on or off. Anytime we want to turn on resizing for a UserForm, use the following:
To turn off resizing, use the following
Just replace myUserForm with the name of your form, or use Me if within the UserForm’s code module.
Setting up the UserForm
To illustrate the process, I’ve created a UserForm which looks like this:
- A ListBox called lstListBox
- A Button called cmdClose
Both of these elements should change when then UserForm resizes. lstListBox should change in size, but not in position while the cmdClose will change in position but not in size. To enable this to happen we need to know the position of these objects from the bottom and right of the UserForm. Provided we keep the same distance from the bottom and right it will appear that these items are moving in sync with the UserForm.
The code below must be included within the UserForm’s code module to function correctly.
To capture the initial bottom and right positions of the ListBox and Button, we set up some Private variables to hold the values.
Now let’s set up what happens when the UserForm initializes.
Firstly, resizing is enabled by calling the code created in the Windows API section above. Secondly, we store the position of the objects in the private variables created above.
- lstListBox changes height and width
- cmdCloses changes top and left position
That is it. You’ve now got the code you need. So fire up the UserForm and start resizing.
When the mouse hovers over the edge of the UserForm, the icon changes, just click and drag. With this method, resizing can happen on any side of the UserForm.
VBA only solution
The VBA solution makes use of mouse events to trigger when to change the height and width of the UserForm. Personally, I think it’s not as smooth as the Window API solution, but it is much easier to understand and can be used on a Mac too.
How does it work?
- The UserForm contains an object which when clicked records the position of the mouse.
- As the mouse moves, the UserForm and it’s objects are repositioned or resized based on the new mouse position.
- When the mouse button is released, movement ceases to adjust the size.
Setting up the UserForm
To illustrate the process, I have created anotherUserForm; it looks like this:
- ListBox called lstListBox
- Button called cmdClose
- Label called lblResizer
The lblResizer is a label which includes the “y” character from the Wingdings 3 font set. This displays as a small triangle in the bottom right corner to show the user where to click to resize the window. The Color and MousePointer properties are set as follows:
All of these elements, along with the UserForm itself will need to change when the mouse is clicked and moved whilst over the lblResizer object.
All the code must be contained within the UserForm’s code module.
We will set up some Private variables to hold the mouse position and click status, along with the minimum allowed window size.
When initializing the UserForm, the code below will place the lblResizer into the bottom right corner, and set the minimum permitted window size.
The following code triggers when the mouse clicks on the lblResizer icon. The code records that the icon has been clicked and the position of the mouse at that moment.
The following code triggers when the mouse moves while over the lblResizer.
Firstly, it will check that the window is larger than the minimum permitted size, and that mouse has been clicked. If both of these are True, the UserForm and the objects are re-positioned or resized based on the size of the mouse movement.
The following code triggers when the mouse button is released; the mouse movement ceases to resize the UserForm.
That is it; we’re good to go. Open up the UserForm and start resizing.
In this example, the UserForm only resizes when the mouse clicks on the icon in the bottom right. We could add the ability to expand from the right, bottom, or left by using objects positioned just inside the edges of the UserForm.
Download the example file
Want to see these examples working? Th e n download the example file.
Get our FREE VBA eBook of the 30 most useful Excel VBA macros.
Automate Excel so that you can save time and stop doing the jobs a trained monkey could do.
Don’t forget:
If you’ve found this post useful, or if you have a better approach, then please leave a comment below.
Do you need help adapting this to your needs?
I’m guessing the examples in this post didn’t exactly meet your situation. We all use Excel differently, so it’s impossible to write a post that will meet everybody’s needs. By taking the time to understand the techniques and principles in this post (and elsewhere on this site) you should be able to adapt it to your needs.
- Read other blogs, or watch YouTube videos on the same topic. You will benefit much more by discovering your own solutions.
- Ask the ‘Excel Ninja’ in your office. It’s amazing what things other people know.
- Ask a question in a forum like Mr Excel, or the Microsoft Answers Community. Remember, the people on these forums are generally giving their time for free. So take care to craft your question, make sure it’s clear and concise. List all the things you’ve tried, and provide screenshots, code segments and example workbooks.
- Use Excel Rescue, who are my consultancy partner. They help by providing solutions to smaller Excel problems.
What next?
Don’t go yet, there is plenty more to learn on Excel Off The Grid. Check out the latest posts:
Читайте также: