Hi forum gurus,
I'm a novice at VBA, having started to learn it on Friday! I have 50 spreadsheets formatted the same as I'm working on now, and I've been writing code to automate the process. There's one step I can't seem to find answers for on the net.
Essentially I needed to group data when the depth jumps (which I've managed no probs, see column B). I also need to subdivide any groups more than 40 cells in a row into equal portions - I can't figure this bit out.
In the columns below, I have two examples, highlighted in column M. Group 1 has 7 cells in it, group 2 has 50 cells in it. Each group is separated by a blank row. The number of groups varies per spreadsheet, as does the length of each group. If the group is <40 continuous cells (e.g. Group 1), then it's to remain as is. If it's more than 40 cells (e.g. Group 2), split these in half by inserting a blank row after the midpoint. So, for group 2 which runs from M10-M59, insert a new row at M34 (or M35, not fussed).
To complicate things, if there are more than 80 cells, it would have to be subdivided into 3 equal sections; more than 120 cells into 4 sections etc. I've written a quick Mround formula which defines the number of segments each group would have to be divided into in column O. So Group 1 would need to be subdivided 0 times, Group 2 subdivided 1 time.
Any ideas? I'm really bogged down on this.
Thanks in advance, Hugo
[TABLE="width: 339"]
<tbody>[TR]
[TD][/TD]
[TD]B
[/TD]
[TD]L
[/TD]
[TD]M
[/TD]
[TD]O
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]DEPTH (M)
[/TD]
[TD]depth diff
[/TD]
[TD]Countgroup[/TD]
[TD]Mround[/TD]
[/TR]
[TR]
[TD="align: right"]2
[/TD]
[TD="align: right"]331.0128[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]3
[/TD]
[TD="align: right"]331.1652[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]4
[/TD]
[TD="align: right"]331.3176[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]5
[/TD]
[TD="align: right"]331.47[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]6
[/TD]
[TD="align: right"]331.6224[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]7
[/TD]
[TD="align: right"]331.7748[/TD]
[TD="align: right"]0.3048[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]8
[/TD]
[TD="align: right"]332.0796[/TD]
[TD="align: right"]12.0396[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD]9
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]10
[/TD]
[TD="align: right"]485.2416[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]11
[/TD]
[TD="align: right"]485.394[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]12
[/TD]
[TD="align: right"]485.5464[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]13
[/TD]
[TD="align: right"]485.6988[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]14
[/TD]
[TD="align: right"]485.8512[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]15
[/TD]
[TD="align: right"]486.0036[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]16
[/TD]
[TD="align: right"]486.156[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]17
[/TD]
[TD="align: right"]486.3084[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]18
[/TD]
[TD="align: right"]486.4608[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]19
[/TD]
[TD="align: right"]486.6132[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]20
[/TD]
[TD="align: right"]486.7656[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]21
[/TD]
[TD="align: right"]486.918[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]22
[/TD]
[TD="align: right"]487.0704[/TD]
[TD="align: right"]2.7432[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]23
[/TD]
[TD="align: right"]489.8136[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]24
[/TD]
[TD="align: right"]489.966[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]25
[/TD]
[TD="align: right"]490.1184[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
</tbody>[/TABLE]
I'm a novice at VBA, having started to learn it on Friday! I have 50 spreadsheets formatted the same as I'm working on now, and I've been writing code to automate the process. There's one step I can't seem to find answers for on the net.
Essentially I needed to group data when the depth jumps (which I've managed no probs, see column B). I also need to subdivide any groups more than 40 cells in a row into equal portions - I can't figure this bit out.
In the columns below, I have two examples, highlighted in column M. Group 1 has 7 cells in it, group 2 has 50 cells in it. Each group is separated by a blank row. The number of groups varies per spreadsheet, as does the length of each group. If the group is <40 continuous cells (e.g. Group 1), then it's to remain as is. If it's more than 40 cells (e.g. Group 2), split these in half by inserting a blank row after the midpoint. So, for group 2 which runs from M10-M59, insert a new row at M34 (or M35, not fussed).
To complicate things, if there are more than 80 cells, it would have to be subdivided into 3 equal sections; more than 120 cells into 4 sections etc. I've written a quick Mround formula which defines the number of segments each group would have to be divided into in column O. So Group 1 would need to be subdivided 0 times, Group 2 subdivided 1 time.
Any ideas? I'm really bogged down on this.
Thanks in advance, Hugo
[TABLE="width: 339"]
<tbody>[TR]
[TD][/TD]
[TD]B
[/TD]
[TD]L
[/TD]
[TD]M
[/TD]
[TD]O
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]DEPTH (M)
[/TD]
[TD]depth diff
[/TD]
[TD]Countgroup[/TD]
[TD]Mround[/TD]
[/TR]
[TR]
[TD="align: right"]2
[/TD]
[TD="align: right"]331.0128[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]3
[/TD]
[TD="align: right"]331.1652[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]4
[/TD]
[TD="align: right"]331.3176[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]5
[/TD]
[TD="align: right"]331.47[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]6
[/TD]
[TD="align: right"]331.6224[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]7
[/TD]
[TD="align: right"]331.7748[/TD]
[TD="align: right"]0.3048[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD="align: right"]8
[/TD]
[TD="align: right"]332.0796[/TD]
[TD="align: right"]12.0396[/TD]
[TD="align: right"]7[/TD]
[TD="align: right"]0[/TD]
[/TR]
[TR]
[TD]9
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]10
[/TD]
[TD="align: right"]485.2416[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]11
[/TD]
[TD="align: right"]485.394[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]12
[/TD]
[TD="align: right"]485.5464[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]13
[/TD]
[TD="align: right"]485.6988[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]14
[/TD]
[TD="align: right"]485.8512[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]15
[/TD]
[TD="align: right"]486.0036[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]16
[/TD]
[TD="align: right"]486.156[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]17
[/TD]
[TD="align: right"]486.3084[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]18
[/TD]
[TD="align: right"]486.4608[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]19
[/TD]
[TD="align: right"]486.6132[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]20
[/TD]
[TD="align: right"]486.7656[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]21
[/TD]
[TD="align: right"]486.918[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]22
[/TD]
[TD="align: right"]487.0704[/TD]
[TD="align: right"]2.7432[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]23
[/TD]
[TD="align: right"]489.8136[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]24
[/TD]
[TD="align: right"]489.966[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
[TR]
[TD="align: right"]25
[/TD]
[TD="align: right"]490.1184[/TD]
[TD="align: right"]0.1524[/TD]
[TD="align: right"]50[/TD]
[TD="align: right"]1[/TD]
[/TR]
</tbody>[/TABLE]
Last edited: