Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Hello All,
I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
On Sep 29, 2:20*pm, Dvinechild
wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) *= A * - * 01 A01a (single aplha, 2-digit num, sub-alpha) * *= A * - * 01 * - * a AA01 (2-alpha, 2-digit num) *= * AA * *- *01 * AA01a (2-aplha, 2-digit num, sub-alpha) *= AA * - * 01 * - * a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. this is how I did it. I am sure there has to be something much easier then this, but it shoudl do the trick to the above guidleines. Thanks, Jay =IF(LEN(K1)=3,LEFT(K1,1)&" - "&RIGHT(K1,2),IF(LEN(K1)=5,LEFT(K1,2)&" - "&RIGHT(LEFT(K1,4),2)&" - "&RIGHT(K1,1),IF(ISNUMBER(- RIGHT(K1,1)),LEFT(K1,2)&" - "&RIGHT(K1,2),LEFT(K1,1)&" - "&RIGHT(LEFT(K1,3),2)&" - "&RIGHT(K1,1)))) |
#3
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
I wasn't quite sure what you mean by "the entire alphabet" and up to about
38-65 numerically. I kind of got the impression that maybe you had to deal with things like AA01a43bb2CA99 But no matter, the following code will deal with things just as you've shown them, to an entry of virtually any length composed of alpha and numeric groups. It does assume that the cells to the right of your entries on a row are available to put the split groups into. Sub SplitIntoGroups() Dim sourceEntries As Range Dim anySourceEntry As Range Const entriesColumn = "A" ' assumes in col A Const firstEntryRow = 2 ' first row w/value to examine Dim lastEntryRow As Long ' will be determined Dim workingText As String Dim columnOffset As Integer Dim seekingAlphaGroup As Boolean Dim LC As Integer ' loop counter Dim splitPoint As Integer Set sourceEntries = ActiveSheet.Range(entriesColumn & _ firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _ Rows.Count).End(xlUp).Address) For Each anySourceEntry In sourceEntries 'find column number of first column to put columnOffset = 1 'reset ' Trim() removes leading/trailing white space workingText = Trim(anySourceEntry.Value) 'determine whether the string starts 'with an alpha or numeric group seekingAlphaGroup = True If Left(workingText, 1) = "0" And _ Left(workingText, 1) <= "9" Then seekingAlphaGroup = False End If Do Until Len(workingText) = 0 'assumption here is that any entry 'ALWAYS begins with an alpha group If seekingAlphaGroup Then 'we actually look for a digit 0-9 here splitPoint = 0 ' reset For LC = 1 To Len(workingText) If Mid(workingText, LC, 1) = "0" And _ Mid(workingText, LC, 1) <= "9" Then splitPoint = LC - 1 Exit For ' found where to split it End If Next Else 'looking for a numeric group 'so we look for an alpha character splitPoint = 0 ' reset For LC = 1 To Len(workingText) 'assume if "9" then it's alpha If Mid(workingText, LC, 1) "9" Then splitPoint = LC - 1 Exit For End If Next End If If splitPoint = 0 Then 'the remainder of workingText is 'all of one type (alpha or numeric) ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & workingText workingText = "" Else 'not done, more to follow ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & Left(workingText, splitPoint) workingText = Right(workingText, _ Len(workingText) - splitPoint) End If 'flip the switch seekingAlphaGroup = Not seekingAlphaGroup columnOffset = columnOffset + 1 Loop Next Set sourceEntries = Nothing End Sub To put the code into your workbook: Press [Alt]+[F11] to enter the VB Editor. Then choose Insert | Module to get an empty module displayed. Copy the code above and paste it into the module. Close the VB Editor and save the workbook. You can change the constants entriesColumn and firstEntryRow to define where the first text group to be split up is at. To run the code, select the sheet with your entries and then use Tools Macro Macros and select the splitIntoGroups entry in the list and click the [Run] button. Hope this helps some. "Dvinechild" wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. |
#4
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
THANK YOU, i'll be sure to use this...once i decipher it! (lol)
"JLatham" wrote: I wasn't quite sure what you mean by "the entire alphabet" and up to about 38-65 numerically. I kind of got the impression that maybe you had to deal with things like AA01a43bb2CA99 But no matter, the following code will deal with things just as you've shown them, to an entry of virtually any length composed of alpha and numeric groups. It does assume that the cells to the right of your entries on a row are available to put the split groups into. Sub SplitIntoGroups() Dim sourceEntries As Range Dim anySourceEntry As Range Const entriesColumn = "A" ' assumes in col A Const firstEntryRow = 2 ' first row w/value to examine Dim lastEntryRow As Long ' will be determined Dim workingText As String Dim columnOffset As Integer Dim seekingAlphaGroup As Boolean Dim LC As Integer ' loop counter Dim splitPoint As Integer Set sourceEntries = ActiveSheet.Range(entriesColumn & _ firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _ Rows.Count).End(xlUp).Address) For Each anySourceEntry In sourceEntries 'find column number of first column to put columnOffset = 1 'reset ' Trim() removes leading/trailing white space workingText = Trim(anySourceEntry.Value) 'determine whether the string starts 'with an alpha or numeric group seekingAlphaGroup = True If Left(workingText, 1) = "0" And _ Left(workingText, 1) <= "9" Then seekingAlphaGroup = False End If Do Until Len(workingText) = 0 'assumption here is that any entry 'ALWAYS begins with an alpha group If seekingAlphaGroup Then 'we actually look for a digit 0-9 here splitPoint = 0 ' reset For LC = 1 To Len(workingText) If Mid(workingText, LC, 1) = "0" And _ Mid(workingText, LC, 1) <= "9" Then splitPoint = LC - 1 Exit For ' found where to split it End If Next Else 'looking for a numeric group 'so we look for an alpha character splitPoint = 0 ' reset For LC = 1 To Len(workingText) 'assume if "9" then it's alpha If Mid(workingText, LC, 1) "9" Then splitPoint = LC - 1 Exit For End If Next End If If splitPoint = 0 Then 'the remainder of workingText is 'all of one type (alpha or numeric) ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & workingText workingText = "" Else 'not done, more to follow ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & Left(workingText, splitPoint) workingText = Right(workingText, _ Len(workingText) - splitPoint) End If 'flip the switch seekingAlphaGroup = Not seekingAlphaGroup columnOffset = columnOffset + 1 Loop Next Set sourceEntries = Nothing End Sub To put the code into your workbook: Press [Alt]+[F11] to enter the VB Editor. Then choose Insert | Module to get an empty module displayed. Copy the code above and paste it into the module. Close the VB Editor and save the workbook. You can change the constants entriesColumn and firstEntryRow to define where the first text group to be split up is at. To run the code, select the sheet with your entries and then use Tools Macro Macros and select the splitIntoGroups entry in the list and click the [Run] button. Hope this helps some. "Dvinechild" wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. |
#5
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
On Mon, 29 Sep 2008 12:20:56 -0700, Dvinechild
wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. To restate what I think you want, you would like to take a string consisting of digits and non-digits, and split it up into sequential cells in the same row into the non-digit portion followed by the digit portion -- in the same order as these segments exist in the original string. Easily done with VBA using regular expressions: The macro below works on the cells you select. Look at the included comments for changes to make if you want to have the macro also get rid of the original data. Also, check there so that the required number of columns to the right of your data are cleared out. To enter the macro, <alt-F11 opens the VB Editor. Ensure your project is highlighted in the project explorer window, then Insert/Module and paste the code below into the window that opens. To use this, select your range of cells. <alt-F8 opens the macro dialog box. RUN this macro. =================================== Option Explicit Sub ParseAlphaNum() Dim c As Range Dim str As String Dim i As Long 'Num of columns to clear to right of data 'Make sure this number is big enough to 'accomodate your longest entry Const lColsToClear As Long = 10 Dim re As Object, mc As Object, m As Object Set re = CreateObject("vbscript.regexp") re.Global = True re.Pattern = "\d+|\D+" For Each c In Selection str = c.Value 'TO replace the original value also, remove the 'Offset(0,1) from the line below and change 'i=1 to i=0 c.Resize(1, lColsToClear).Offset(0, 1).Clear If re.test(str) = True Then Set mc = re.Execute(str) 'Change i=1 to i=0 if you are replacing ' your original data i = 1 For Each m In mc c.Offset(0, i).Value = m i = i + 1 Next m End If Next c End Sub =============================== --ron |
#6
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
If it's ok to split the cell into adjacent cells...
Try this: A1: (alternating text/numbers/text/etc eg AB123C4DEFG5678) Then B1: =LEFT(A1,MATCH(FALSE,INDEX(ISERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1),1)),1)),0),0)-1) The following are ARRAY FORMULAS (committed with CTRL+SHIFT+ENTER, instead of just ENTER) C1: =LEFT(MID($A1,SUMPRODUCT(LEN($B1:B1))+1,255), MATCH(TRUE,ISERROR(--MID(MID($A1,SUMPRODUCT( LEN($B1:B1))+1,255)&"a",ROW($A$1:INDEX($A:$A,LEN($ A1)- SUMPRODUCT(LEN($B1:B1))+1,1)),1)),0)-1) Copy C1 into E1, G1, I1, K1 D1: =LEFT(MID($A1,SUMPRODUCT(LEN($B1:C1))+1,255), MATCH(FALSE,ISERROR(--MID(MID($A1,SUMPRODUCT( LEN($B1:C1))+1,255)&"9",ROW($A$1:INDEX($A:$A,LEN($ A1)- SUMPRODUCT(LEN($B1:C1))+1,1)),1)),0)-1) Copy D1 into F1, H1, J1, L1 Using the above example, these values are returned: B1: AB C1: 123 D1: C E1: 4 F1: DEFG G1: 5678 Is that something you can work with? *********** Regards, Ron XL2003, WinXP "Dvinechild" wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. |
#7
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Like code often does, the simplicity of the job to be done is hidden in the
convoluted way that code has to be taught to see the obvious. BTW: I do think one error could cause failure and that is if there is an empty cell between the first and last one used in the column. I didn't test for empty string as the starting value for workingText. OK: it sets up a range reference to the cells that it will be examining. That range starts (in the code as written) at A2 and continues down column A to the last entry in the column. Then it starts the For Each loop to examine the contents of each of those cells. columnOffset is a value used to move where the pieces of the original text are placed on the row. seekingAlphaGroup is a flag that tells whether we are looking for an alpha character set (we will actually search for the first digit in the string later), or if we are searching for a numeric group (we will actually search for a non-digit character later). The default start, based on your description of the data, is that we will be looking for an alpha group first, but we test the 1st character of the string anyhow just to be sure and if it's 0-9, we flip the flag to look for a numeric group first. The For LC loop works across the string until it finds either a digit or a non-digit, depending on the setting of seekingAlphaGroup flag. When it finds something it's looking for, it assumes that everything to the left of that character is the next group to be split off and put into a column by itself on the row. When the LC loop completes it either points to a point to split workingText or it has a zero (indicating that there is no group left to split). The string is either split, with the left piece of it going into the next available column, and that part that was split is removed from workingText. When we put the groups into the empty columns we stick a single quote mark in front of the entry to force it to be treated as text, this preserves leading zeros in numeric groups. Once that's done, the seekingAlphaGroup flag is flipped to the other state, and the columnOffset value is incremented by 1 to put the next found group (if there is one) into the next available column. Finally all the cells in the range have been examined and we set sourceEntries = Nothing to release those resources back to the system and terminate the process. Hope that helps with your decyphering the code to your satisfaction. "Dvinechild" wrote: THANK YOU, i'll be sure to use this...once i decipher it! (lol) "JLatham" wrote: I wasn't quite sure what you mean by "the entire alphabet" and up to about 38-65 numerically. I kind of got the impression that maybe you had to deal with things like AA01a43bb2CA99 But no matter, the following code will deal with things just as you've shown them, to an entry of virtually any length composed of alpha and numeric groups. It does assume that the cells to the right of your entries on a row are available to put the split groups into. Sub SplitIntoGroups() Dim sourceEntries As Range Dim anySourceEntry As Range Const entriesColumn = "A" ' assumes in col A Const firstEntryRow = 2 ' first row w/value to examine Dim lastEntryRow As Long ' will be determined Dim workingText As String Dim columnOffset As Integer Dim seekingAlphaGroup As Boolean Dim LC As Integer ' loop counter Dim splitPoint As Integer Set sourceEntries = ActiveSheet.Range(entriesColumn & _ firstEntryRow & ":" & ActiveSheet.Range(entriesColumn & _ Rows.Count).End(xlUp).Address) For Each anySourceEntry In sourceEntries 'find column number of first column to put columnOffset = 1 'reset ' Trim() removes leading/trailing white space workingText = Trim(anySourceEntry.Value) 'determine whether the string starts 'with an alpha or numeric group seekingAlphaGroup = True If Left(workingText, 1) = "0" And _ Left(workingText, 1) <= "9" Then seekingAlphaGroup = False End If Do Until Len(workingText) = 0 'assumption here is that any entry 'ALWAYS begins with an alpha group If seekingAlphaGroup Then 'we actually look for a digit 0-9 here splitPoint = 0 ' reset For LC = 1 To Len(workingText) If Mid(workingText, LC, 1) = "0" And _ Mid(workingText, LC, 1) <= "9" Then splitPoint = LC - 1 Exit For ' found where to split it End If Next Else 'looking for a numeric group 'so we look for an alpha character splitPoint = 0 ' reset For LC = 1 To Len(workingText) 'assume if "9" then it's alpha If Mid(workingText, LC, 1) "9" Then splitPoint = LC - 1 Exit For End If Next End If If splitPoint = 0 Then 'the remainder of workingText is 'all of one type (alpha or numeric) ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & workingText workingText = "" Else 'not done, more to follow ' put single quote in front of it 'to retain leading zeros if it is numeric anySourceEntry.Offset(0, columnOffset) = _ "'" & Left(workingText, splitPoint) workingText = Right(workingText, _ Len(workingText) - splitPoint) End If 'flip the switch seekingAlphaGroup = Not seekingAlphaGroup columnOffset = columnOffset + 1 Loop Next Set sourceEntries = Nothing End Sub To put the code into your workbook: Press [Alt]+[F11] to enter the VB Editor. Then choose Insert | Module to get an empty module displayed. Copy the code above and paste it into the module. Close the VB Editor and save the workbook. You can change the constants entriesColumn and firstEntryRow to define where the first text group to be split up is at. To run the code, select the sheet with your entries and then use Tools Macro Macros and select the splitIntoGroups entry in the list and click the [Run] button. Hope this helps some. "Dvinechild" wrote: Hello All, I'm looking to seperate out a list of alpha-numeric codes into seperate columns. sound too easy? Here's the catch: Examples: A01 (single aplha, 2-digit num) = A - 01 A01a (single aplha, 2-digit num, sub-alpha) = A - 01 - a AA01 (2-alpha, 2-digit num) = AA - 01 AA01a (2-aplha, 2-digit num, sub-alpha) = AA - 01 - a If anyone knows how to get this to split up correctly, unfortunately I have to do it for pretty much the entire alphabet and up to about 38-65 numerically. :-) Please advise or lead me in the rigth direction. |
#8
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Use Word.
No code, no formulas. One step conversion. For example and pictures see: http://www.savefile.com/files/1814622 |
#9
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Very interesting solution. One of these days I really must come out of my
hermit's cavern and educate myself on regular expressions. Especially when they turn up as part of two solutions to this, or any, problem. "Herbert Seidenberg" wrote: Use Word. No code, no formulas. One step conversion. For example and pictures see: http://www.savefile.com/files/1814622 |
#10
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
On Tue, 30 Sep 2008 17:55:00 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote: Very interesting solution. One of these days I really must come out of my hermit's cavern and educate myself on regular expressions. Especially when they turn up as part of two solutions to this, or any, problem. At least in Excel, when using regular expressions, the macro will take longer to run than would a well-crafted routine using native VBA functions. This may or may not be important, depending on the actual application. However, the basics for parsing the original string, at least in my suggested solution, rests in the simple regular expression pattern: "\d+|\D+" This only took a few seconds to come up with and code. So a great savings there when manipulating text. --ron |
#11
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Time is usually the price you pay for the convenience of such things; be it a
more compact way to code something or a move to a higher-order language. I come from a background where processing time was critical (real-time air traffic control radar systems software) and so I'm always looking to try to make the code efficient in terms of speed. I'm sure I don't always succeed, and in this forum I often code for clarity rather than speed. But the speed of today's processors helps get you beyond the short comings of the languages or the programmer's skills. "Ron Rosenfeld" wrote: On Tue, 30 Sep 2008 17:55:00 -0700, JLatham <HelpFrom @ Jlathamsite.com.(removethis) wrote: Very interesting solution. One of these days I really must come out of my hermit's cavern and educate myself on regular expressions. Especially when they turn up as part of two solutions to this, or any, problem. At least in Excel, when using regular expressions, the macro will take longer to run than would a well-crafted routine using native VBA functions. This may or may not be important, depending on the actual application. However, the basics for parsing the original string, at least in my suggested solution, rests in the simple regular expression pattern: "\d+|\D+" This only took a few seconds to come up with and code. So a great savings there when manipulating text. --ron |
#12
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
On Wed, 1 Oct 2008 05:00:11 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote: Time is usually the price you pay for the convenience of such things; be it a more compact way to code something or a move to a higher-order language. I come from a background where processing time was critical (real-time air traffic control radar systems software) and so I'm always looking to try to make the code efficient in terms of speed. I'm sure I don't always succeed, and in this forum I often code for clarity rather than speed. But the speed of today's processors helps get you beyond the short comings of the languages or the programmer's skills. You're right about the faster processors. There was a time when I was coding for real time acquisition of multiple channels of physiologic data, and this was on a PDP-like machine many years ago. Assembly language coding was the norm, then, and was required to make things work. But today I'm more of the opinion that "perfection is the enemy of good enough" :-)) --ron |
#13
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
We are both of the same 'generation' of programmers. In the center I worked
at there were many PDP machines around; our system was based on a Data General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board mapping to break the 32K addressing limit. We programmed in pure assembly also, although I started a trend of doing design using integer BASIC to prove algorithms prior to eating system time testing new code. Wrote both a pseudo-assembler to run under DOS and a disassembler to assist with interpreting memory dumps from the system. In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova 3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with the changes in VB and VBA. "Ron Rosenfeld" wrote: On Wed, 1 Oct 2008 05:00:11 -0700, JLatham <HelpFrom @ Jlathamsite.com.(removethis) wrote: Time is usually the price you pay for the convenience of such things; be it a more compact way to code something or a move to a higher-order language. I come from a background where processing time was critical (real-time air traffic control radar systems software) and so I'm always looking to try to make the code efficient in terms of speed. I'm sure I don't always succeed, and in this forum I often code for clarity rather than speed. But the speed of today's processors helps get you beyond the short comings of the languages or the programmer's skills. You're right about the faster processors. There was a time when I was coding for real time acquisition of multiple channels of physiologic data, and this was on a PDP-like machine many years ago. Assembly language coding was the norm, then, and was required to make things work. But today I'm more of the opinion that "perfection is the enemy of good enough" :-)) --ron |
#14
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
On Wed, 1 Oct 2008 15:40:01 -0700, JLatham <HelpFrom @
Jlathamsite.com.(removethis) wrote: We are both of the same 'generation' of programmers. In the center I worked at there were many PDP machines around; our system was based on a Data General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board mapping to break the 32K addressing limit. We programmed in pure assembly also, although I started a trend of doing design using integer BASIC to prove algorithms prior to eating system time testing new code. Wrote both a pseudo-assembler to run under DOS and a disassembler to assist with interpreting memory dumps from the system. In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova 3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with the changes in VB and VBA. Things have certainly changed. --ron |
#15
Posted to microsoft.public.excel.misc
|
|||
|
|||
Reverse Concatenate?
Yeah, they have.
And after due consideration, I think I should change my last sentence in my previous post - should read "Now I struggle to keep up with the changes in VB-dot-WhatToday and VBA". Take care. Enjoy. "Ron Rosenfeld" wrote: On Wed, 1 Oct 2008 15:40:01 -0700, JLatham <HelpFrom @ Jlathamsite.com.(removethis) wrote: We are both of the same 'generation' of programmers. In the center I worked at there were many PDP machines around; our system was based on a Data General Nova Eclipse 3/12 - 16-bit, 32K words of RAM with physical board mapping to break the 32K addressing limit. We programmed in pure assembly also, although I started a trend of doing design using integer BASIC to prove algorithms prior to eating system time testing new code. Wrote both a pseudo-assembler to run under DOS and a disassembler to assist with interpreting memory dumps from the system. In those days I was multi-lingual: I wrote in Honeywell 6000 assembly, Nova 3/12 assembly, Z-80 and 6800/6809 assembly. Now I struggle to keep up with the changes in VB and VBA. Things have certainly changed. --ron |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
reverse value | Excel Worksheet Functions | |||
Reverse concatenate | Excel Discussion (Misc queries) | |||
Reverse Concatenate | Excel Worksheet Functions | |||
reverse of concatenate | Excel Discussion (Misc queries) | |||
I know how to concatenate ,can one de-concatenate to split date? | New Users to Excel |