LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #12   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Saving custom toolbars with macros to work on other computers

Good luck.

If you find the problem, please post back. Then google will have the answer for
the next person.

penGuin_1 wrote:

Dave,

I don't have any merged cells (that I created or that I can find). I used
some data validation on cells and some vlookup, but I can't figure it out,
either.

I really appreciate your time and effort - I guess I will keep working it
out...
--
- thank you
penGuin_1

"Dave Peterson" wrote:

I still don't see anything in the code that would make it work differently
depending on how it was called.

One guess. Do you have merged cells in your worksheet?

I don't use them (I don't like them!). But they seem to work differently when
you do things manually as opposed through code. (Although, I've never seen them
work differently based on how the code was called!)

I'm afraid I don't have any guesses.

penGuin_1 wrote:

Dave, I added the msgbox as you suggested and all macros appear to be called
correctly. I am really puzzled because they run correctly independent of the
toolbar, but it seems almost as if they are trying to run twice from the
toolbar. Since we can't isolate with part of the code, I have copied and
pasted the entire module below. Please note, this is my first serious work
with macros and I would consider myself to be a novice, though I learn well.

Here is the code (entirely) from my module - please see if you can help:

Option Explicit

Sub create_menubar()
Dim i As Long
Dim mac_names As Variant
Dim cap_names As Variant
Dim tip_text As Variant

'MsgBox ThisWorkbook.FullName

Call remove_menubar
mac_names = Array("Insert_Level2_Task()", _
"Insert_Level3_Task()", _
"Insert_Level4_Task()", _
"OpenCalendar")
cap_names = Array("Level 2 Task", _
"Level 3 Task", _
"Level 4 Task", _
"Calendar")
tip_text = Array("Insert Level 2 Task", _
"Insert Level 3 Task", _
"Insert Level 4 Task", _
"Select a Date")
With Application.CommandBars.Add
.Name = "Project Management"
.Left = 200
.Top = 200
.Protection = msoBarNoProtection
.Visible = True
.Position = msoBarFloating
For i = LBound(mac_names) To UBound(mac_names)
With .Controls.Add(Type:=msoControlButton)
.OnAction = ThisWorkbook.Name & "!" & mac_names(i)
.Caption = cap_names(i)
.Style = msoButtonIconAndCaption
.FaceId = 0
.TooltipText = tip_text(i)
End With
Next i
End With
End Sub
Sub remove_menubar()
On Error Resume Next
Application.CommandBars("Project Management").Delete
On Error GoTo 0
End Sub

Sub OpenCalendar()
Calendar.Show
End Sub

Sub Insert_Level3_Task()

' Insert_Level3_Task Macro
' Click here to insert a level 3 task

Dim r As String
Dim length As Integer
Dim posit As Integer
Dim p As String
Dim res As Integer

'MsgBox ThisWorkbook.FullName

res = MsgBox("Insert Level 3 Task?", vbYesNo, "Insert New Task")
If res = vbYes Then

r = ActiveWindow.RangeSelection.Address
length = Len(r)
posit = InStr(1, r, ":")
p = Left(r, length - posit)
length = Len(p)
r = Right(p, length - 1)

Rows(ActiveWindow.RangeSelection.Address).Select
Selection.Insert Shift:=xlDown
Range(ActiveWindow.RangeSelection.Address).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 2
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Font.Italic = False
End With
Range("c" & r).Select
Selection.Font.Color = 255
ActiveCell.FormulaR1C1 = "new level 3 task"
Range("a1").Select
End If
End Sub

Sub Insert_Level2_Task()

' Insert_Level2_Task Macro
' Click here to insert a level 2 task
Dim r As String
Dim length As Integer
Dim posit As Integer
Dim p As String
Dim res As Integer

'MsgBox ThisWorkbook.FullName

res = MsgBox("Insert Level 2 Task?", vbYesNo, "Insert New Task")
If res = vbYes Then

r = ActiveWindow.RangeSelection.Address
length = Len(r)
posit = InStr(1, r, ":")
p = Left(r, length - posit)
length = Len(p)
r = Right(p, length - 1)

Rows(ActiveWindow.RangeSelection.Address).Select
Selection.Insert Shift:=xlDown
Range(ActiveWindow.RangeSelection.Address).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 1
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Font.Italic = True
End With
Range("c" & r).Select
Selection.Font.Color = 16711680
ActiveCell.FormulaR1C1 = "new level 2 task"
Range("a1").Select
End If
End Sub

Sub Insert_Level4_Task()

' Insert_Level4_Task Macro
' Click here to insert a level 4 task
Dim r As String
Dim length As Integer
Dim posit As Integer
Dim p As String
Dim res As Integer

'MsgBox ThisWorkbook.FullName

res = MsgBox("Insert Level 4 Task?", vbYesNo, "Insert New Task")
If res = vbYes Then

r = ActiveWindow.RangeSelection.Address
length = Len(r)
posit = InStr(1, r, ":")
p = Left(r, length - posit)
length = Len(p)
r = Right(p, length - 1)

Rows(ActiveWindow.RangeSelection.Address).Select
Selection.Insert Shift:=xlDown
Range(ActiveWindow.RangeSelection.Address).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 3
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
.Font.Italic = False
End With
Range("c" & r).Select
Selection.Font.Color = 255
ActiveCell.FormulaR1C1 = "new level 4 task"
Range("a1").Select
End If
End Sub

That's all of it besides the workbook commands you have for the toolbar.

I really appreciate your help.

--
- thank you
penGuin_1

"Dave Peterson" wrote:

I don't see anything that jumps out as an error.

Is there any chance you had multiple macros (when you were developing) with the
same name? Maybe you're calling different ones.

I'd add this to the top of each macro--before any processing starts:

Msgbox thisworkbook.fullname

If you don't get the message, then you haven't found the macro that's currently
running.

If you do see the message, did you expect to see that name of the workbook?



penGuin_1 wrote:

Dave,

Thank you for your quick reply; sorry if I didn't provide enough information
- I was trying to keep the post short. Here is the information you asked for:

From your code (modified with macro name in place of "mac1", "mac2", etc.):

Sub create_menubar()
Dim i As Long
Dim mac_names As Variant
Dim cap_names As Variant
Dim tip_text As Variant
Call remove_menubar
mac_names = Array("Insert_Level2_Task()", _
"Insert_Level3_Task()", _
"Insert_Level4_Task()", _
"OpenCalendar")
cap_names = Array("Level 2 Task", _
"Level 3 Task", _
"Level 4 Task", _
"Calendar")
tip_text = Array("Insert Level 2 Task", _
"Insert Level 3 Task", _
"Insert Level 4 Task", _
"Select a Date")
With Application.CommandBars.Add
.Name = "Project Management"

The subroutine itself (there are three) runs properly although when using
the floating toolbar it does not. I will first give you the code for the sub
and then explain what it does and what it does not do when using the toolbar.

Sub to insert level 2 task:

Sub Insert_Level2_Task()

' Insert_Level2_Task Macro
' Click here to insert a level 2 task
Dim r As String
Dim length As Integer
Dim posit As Integer
Dim p As String
Dim res As Integer

res = MsgBox("Insert Level 2 Task?", vbYesNo, "Insert New Task")
If res = vbYes Then

r = ActiveWindow.RangeSelection.Address
length = Len(r)
posit = InStr(1, r, ":")
p = Left(r, length - posit)
length = Len(p)
r = Right(p, length - 1)

Rows(ActiveWindow.RangeSelection.Address).Select
Selection.Insert Shift:=xlDown
Range(ActiveWindow.RangeSelection.Address).Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 1
.ShrinkToFit = False
.ReadingOrder = xlContext


--

Dave Peterson
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Saving Custom Toolbars in Excel 2003 MIKE MEDLIN Setting up and Configuration of Excel 3 June 3rd 05 02:45 PM
Heelp...the "begin with" custom filter does not work Question_from_holland Excel Discussion (Misc queries) 2 January 13th 05 01:05 PM
Excel 2002 custom toolbars fick Excel Discussion (Misc queries) 4 December 13th 04 09:51 PM
TROUBLE DISPLAYING CUSTOM TOOLBARS CHICAGOGLASSMAN Excel Discussion (Misc queries) 1 December 8th 04 08:07 PM
Getting Excel 2003 to save Custom Toolbars MIKE MEDLIN Excel Discussion (Misc queries) 1 December 7th 04 07:33 PM


All times are GMT +1. The time now is 10:33 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"