![]() |
Call to Re-Named Module [to match Sub() name] fails ?
I have a module name question?
When I Right click; View Code" on the worksheet, In the top left is (Project VBA Project) window; at the bottom I have a "Modules" folder and in there I have 4 modules. 2 of which I seemed to have renamed and not yet seeing a problem. However, in the last module Module3 Its intended to be a sub module; called by the worksheet module from 2 different points. *All curently runs fine*. The sub routing was created with the following name: ... Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) .... code... From the Worksheet View Code, I call this sub routine with the following command: '------------------------------------------------------------------------ ' [default/Changed!] Button - Re-Build Program Summary Template '------------------------------------------------------------------------ If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary True '<--- 1 ----- Range("K1").Value = "default" End If ---------------------- All of this works fine Now, when I have this ReBuildProgramSummary sub routine selected, in bottom left of this screen is a Properties Module3; it has a select button below this with Module3 Module the only option, and below this on the Alphabetic Tab is: (Name) Module3. When I try to change the (Name) field from Module3 to ReBuildProgramSummary, the [ Compile Error - Expected variable or procedure, not module ] at the <----1 call above. Can I not change this (Name) field name to match? |
Call to Re-Named Module [to match Sub() name] fails ?
You could change the name to match but it is not really recommended as
it causes just this type of problem. Bear in mind that a module simply holds procedures and functions. It could hold a number of each. The name of the module therefore is not key until you rename it to the same name as a function. This is different for a Class Module where the name is the actual class (object) that you are creating. In your situation if you really want to rename the module the same as the procedure then you would have to make this clear to your calling code eg: If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary.ReBuildProgramSummary True Range("K1").Value = "default" End If Hope this helps Rowan CRayF wrote: I have a module name question? When I Right click; View Code" on the worksheet, In the top left is (Project VBA Project) window; at the bottom I have a "Modules" folder and in there I have 4 modules. 2 of which I seemed to have renamed and not yet seeing a problem. However, in the last module Module3 Its intended to be a sub module; called by the worksheet module from 2 different points. *All curently runs fine*. The sub routing was created with the following name: .. Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) ... code... From the Worksheet View Code, I call this sub routine with the following command: '------------------------------------------------------------------------ ' [default/Changed!] Button - Re-Build Program Summary Template '------------------------------------------------------------------------ If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary True '<--- 1 ----- Range("K1").Value = "default" End If ---------------------- All of this works fine Now, when I have this ReBuildProgramSummary sub routine selected, in bottom left of this screen is a Properties Module3; it has a select button below this with Module3 Module the only option, and below this on the Alphabetic Tab is: (Name) Module3. When I try to change the (Name) field from Module3 to ReBuildProgramSummary, the [ Compile Error - Expected variable or procedure, not module ] at the <----1 call above. Can I not change this (Name) field name to match? |
Call to Re-Named Module [to match Sub() name] fails ?
So in my case, the external sub I created :
Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) Was placed in Module3. If over change I end up with others Is there a way to identify the Sub() by name or do you have to remember it was in Module3? (I may be missing something elementary here but I am very new to this VBA. "Rowan" wrote: You could change the name to match but it is not really recommended as it causes just this type of problem. Bear in mind that a module simply holds procedures and functions. It could hold a number of each. The name of the module therefore is not key until you rename it to the same name as a function. This is different for a Class Module where the name is the actual class (object) that you are creating. In your situation if you really want to rename the module the same as the procedure then you would have to make this clear to your calling code eg: If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary.ReBuildProgramSummary True Range("K1").Value = "default" End If Hope this helps Rowan CRayF wrote: I have a module name question? When I Right click; View Code" on the worksheet, In the top left is (Project VBA Project) window; at the bottom I have a "Modules" folder and in there I have 4 modules. 2 of which I seemed to have renamed and not yet seeing a problem. However, in the last module Module3 Its intended to be a sub module; called by the worksheet module from 2 different points. *All curently runs fine*. The sub routing was created with the following name: .. Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) ... code... From the Worksheet View Code, I call this sub routine with the following command: '------------------------------------------------------------------------ ' [default/Changed!] Button - Re-Build Program Summary Template '------------------------------------------------------------------------ If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary True '<--- 1 ----- Range("K1").Value = "default" End If ---------------------- All of this works fine Now, when I have this ReBuildProgramSummary sub routine selected, in bottom left of this screen is a Properties Module3; it has a select button below this with Module3 Module the only option, and below this on the Alphabetic Tab is: (Name) Module3. When I try to change the (Name) field from Module3 to ReBuildProgramSummary, the [ Compile Error - Expected variable or procedure, not module ] at the <----1 call above. Can I not change this (Name) field name to match? |
Call to Re-Named Module [to match Sub() name] fails ?
You would have to remember where you put each sub if you want to edit
them. If you do not have any ambiguous naming then you don't have to use the module name when referencing a procudure in code so you can just use Call ReBuildProgramSummary True rather than Call Module3.ReBuildProgramSummary True When you open a module window the Prodedure drop down, Top Right, has a list of all procedures and functions that are sored in that module. Selecting one from this dropdown will take the cursor to the first line of that procedure. Regards Rowan CRayF wrote: So in my case, the external sub I created : Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) Was placed in Module3. If over change I end up with others Is there a way to identify the Sub() by name or do you have to remember it was in Module3? (I may be missing something elementary here but I am very new to this VBA. "Rowan" wrote: You could change the name to match but it is not really recommended as it causes just this type of problem. Bear in mind that a module simply holds procedures and functions. It could hold a number of each. The name of the module therefore is not key until you rename it to the same name as a function. This is different for a Class Module where the name is the actual class (object) that you are creating. In your situation if you really want to rename the module the same as the procedure then you would have to make this clear to your calling code eg: If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary.ReBuildProgramSummary True Range("K1").Value = "default" End If Hope this helps Rowan CRayF wrote: I have a module name question? When I Right click; View Code" on the worksheet, In the top left is (Project VBA Project) window; at the bottom I have a "Modules" folder and in there I have 4 modules. 2 of which I seemed to have renamed and not yet seeing a problem. However, in the last module Module3 Its intended to be a sub module; called by the worksheet module from 2 different points. *All curently runs fine*. The sub routing was created with the following name: .. Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) ... code... From the Worksheet View Code, I call this sub routine with the following command: '------------------------------------------------------------------------ ' [default/Changed!] Button - Re-Build Program Summary Template '------------------------------------------------------------------------ If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary True '<--- 1 ----- Range("K1").Value = "default" End If ---------------------- All of this works fine Now, when I have this ReBuildProgramSummary sub routine selected, in bottom left of this screen is a Properties Module3; it has a select button below this with Module3 Module the only option, and below this on the Alphabetic Tab is: (Name) Module3. When I try to change the (Name) field from Module3 to ReBuildProgramSummary, the [ Compile Error - Expected variable or procedure, not module ] at the <----1 call above. Can I not change this (Name) field name to match? |
Call to Re-Named Module [to match Sub() name] fails ?
This may help:
http://www.cpearson.com/excel/codemods.htm CRayF wrote: So in my case, the external sub I created : Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) Was placed in Module3. If over change I end up with others Is there a way to identify the Sub() by name or do you have to remember it was in Module3? (I may be missing something elementary here but I am very new to this VBA. "Rowan" wrote: You could change the name to match but it is not really recommended as it causes just this type of problem. Bear in mind that a module simply holds procedures and functions. It could hold a number of each. The name of the module therefore is not key until you rename it to the same name as a function. This is different for a Class Module where the name is the actual class (object) that you are creating. In your situation if you really want to rename the module the same as the procedure then you would have to make this clear to your calling code eg: If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary.ReBuildProgramSummary True Range("K1").Value = "default" End If Hope this helps Rowan CRayF wrote: I have a module name question? When I Right click; View Code" on the worksheet, In the top left is (Project VBA Project) window; at the bottom I have a "Modules" folder and in there I have 4 modules. 2 of which I seemed to have renamed and not yet seeing a problem. However, in the last module Module3 Its intended to be a sub module; called by the worksheet module from 2 different points. *All curently runs fine*. The sub routing was created with the following name: .. Sub ReBuildProgramSummary(Optional Confirm As Boolean = True) ... code... From the Worksheet View Code, I call this sub routine with the following command: '------------------------------------------------------------------------ ' [default/Changed!] Button - Re-Build Program Summary Template '------------------------------------------------------------------------ If Target.Address = "$K$1" And ActiveSheet.Name < _ srcProgramSummaryTemplateWs.Name Then ReBuildProgramSummary True '<--- 1 ----- Range("K1").Value = "default" End If ---------------------- All of this works fine Now, when I have this ReBuildProgramSummary sub routine selected, in bottom left of this screen is a Properties Module3; it has a select button below this with Module3 Module the only option, and below this on the Alphabetic Tab is: (Name) Module3. When I try to change the (Name) field from Module3 to ReBuildProgramSummary, the [ Compile Error - Expected variable or procedure, not module ] at the <----1 call above. Can I not change this (Name) field name to match? |
All times are GMT +1. The time now is 12:19 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com