Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
There is a beautiful code
Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first ..insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I haven't looked at your code but if you are adding code to the same project
it might trigger a re-compile and hence crash. If all works fine adding similar code to "another" workbook that would be the route to go. Regards, Peter T "Kris" wrote in message ... There is a beautiful code Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first .insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It is added to a new workbook and doesn't work.
Peter T wrote: I haven't looked at your code but if you are adding code to the same project it might trigger a re-compile and hence crash. If all works fine adding similar code to "another" workbook that would be the route to go. Regards, Peter T "Kris" wrote in message ... There is a beautiful code Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first .insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Your code works fine for me. All I did is
Set wkb = workbooks.add and change sModuleName to "Sheet1" then your code as posted (after some un-wrapping). On which point - how/where did you define "Sheet1" Regards, Peter T "Kris" wrote in message ... It is added to a new workbook and doesn't work. Peter T wrote: I haven't looked at your code but if you are adding code to the same project it might trigger a re-compile and hence crash. If all works fine adding similar code to "another" workbook that would be the route to go. Regards, Peter T "Kris" wrote in message ... There is a beautiful code Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first .insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On which point - how/where did you define "Sheet1"
I meant On which point - how/where did you assign a string to sModuleName Regards, Peter T "Peter T" <peter_t@discussions wrote in message ... Your code works fine for me. All I did is Set wkb = workbooks.add and change sModuleName to "Sheet1" then your code as posted (after some un-wrapping). On which point - how/where did you define "Sheet1" Regards, Peter T "Kris" wrote in message ... It is added to a new workbook and doesn't work. Peter T wrote: I haven't looked at your code but if you are adding code to the same project it might trigger a re-compile and hence crash. If all works fine adding similar code to "another" workbook that would be the route to go. Regards, Peter T "Kris" wrote in message ... There is a beautiful code Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first .insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I skipped not important code.
All workbooks, workseets are created correctly, sModuleName is not empty, null, etc. if I replace RegionSheet.CodeName by "ThisWorkbook" it works. if I insert just "Sub a end sub" it works. if I insert event procedure it fails. ------------------- Dim wkBook As Workbook Set wkBook = AddWorkbook(...) Dim RegionSheet As Worksheet Set RegionSheet = AddWorksheet(wkBook, ...) AddCode wkBook, RegionSheet.CodeName ----------------- Sub AddCode(wkb As Workbook, sModuleName As String) Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" end with end sub Peter T wrote: On which point - how/where did you define "Sheet1" I meant On which point - how/where did you assign a string to sModuleName Regards, Peter T "Peter T" <peter_t@discussions wrote in message ... Your code works fine for me. All I did is Set wkb = workbooks.add and change sModuleName to "Sheet1" then your code as posted (after some un-wrapping). On which point - how/where did you define "Sheet1" Regards, Peter T "Kris" wrote in message ... It is added to a new workbook and doesn't work. Peter T wrote: I haven't looked at your code but if you are adding code to the same project it might trigger a re-compile and hence crash. If all works fine adding similar code to "another" workbook that would be the route to go. Regards, Peter T "Kris" wrote in message ... There is a beautiful code Private Sub ComboBox1_Change() Dim TargetPivotTable As PivotTable On Error GoTo ErrHandler Set TargetPivotTable = ActiveSheet.PivotTables("pivottable1") Worksheet_PivotTableUpdate TargetPivotTable ErrHandler: End Sub This code pasted into worksheet module works fine The same code inserted from VBA crashes during insertion at first .insertLines. Dim VBCodeMod As CodeModule Set VBCodeMod = wkb.VBProject.VBComponents(sModuleName).CodeModule With VBCodeMod .InsertLines .CountOfLines + 1, "Private Sub ComboBox1_Change()" .InsertLines .CountOfLines + 1, " Dim TargetPivotTable As PivotTable" .InsertLines .CountOfLines + 1, " On Error GoTo ErrHandler" .InsertLines .CountOfLines + 1, " Set TargetPivotTable = ActiveSheet.PivotTables(""pivottable1"")" .InsertLines .CountOfLines + 1, " Worksheet_PivotTableUpdate TargetPivotTable" .InsertLines .CountOfLines + 1, "ErrHandler:" .InsertLines .CountOfLines + 1, "End Sub" I noticed that: inserting non-events procedures works. Using CreateEventProc also crashes inserting to ThisWorkbook module work, but inserting into specific sheet doesn't What am I doing wrong? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Unprotect Code Module in Code | Excel Discussion (Misc queries) | |||
copying vba code to a standard code module | Excel Discussion (Misc queries) | |||
Run worksheet module code from workbook module? | Excel Programming | |||
Create a newworksheet with VBA code and put VBA code in the new worksheet module | Excel Programming | |||
Sheet Code Module: copying code to | Excel Programming |