Article ID: 104997
Article Last Modified on 6/23/2005
a. Right-click a sheet tab and then click Insert.
b. In the Insert dialog box, click to select MS Excel 4.0 Macro
c. Click OK.
A1: TextFile Macro
A2: =SET.NAME("nextcol",0)
A3: getname=FOPEN(INPUT("Filename:",2),3)
A4: =SET.NAME("colcount",COLUMNS(SELECTION()))
A5: =FOR.CELL("current",SELECTION())
A6: =IF(AND(ISNUMBER(current),GET.CELL(7,current)<>"General"))
A7: =FWRITE(getname,TEXT(current,GET.CELL(7,current)))
A8: =ELSE()
A9: =FWRITE(getname,current)
A10: =END.IF()
A11: =SET.NAME("nextcol",nextcol+1)
A12: =IF(nextcol=colcount)
A13: =FWRITE(getname,CHAR(13)&CHAR(10))
A14: =SET.NAME("nextcol",0)
A15: =ELSE()
A16: =FWRITE(getname,CHAR(9))
A17: =END.IF()
A18: =NEXT()
A19: =FCLOSE(getname)
A20: =RETURN()
A1: TextFile Macro
A2: =SET.NAME("nextcol",0)
A3: getname=FOPEN(INPUT("Filename:",2),3)
A4: =SET.NAME("colcount",COLUMNS(SELECTION()))
A5: =FOR.CELL("current",SELECTION())
A6: =IF(AND(ISNUMBER(current),GET.CELL(7,current)<>"General"))
A7: =FWRITE(getname,TEXT(current,GET.CELL(7,current)))
A8: =ELSE()
A9: =FWRITE(getname,current)
A10: =END.IF()
A11: =SET.NAME("nextcol",nextcol+1)
A12: =IF(nextcol=colcount)
A13: =FWRITE(getname,CHAR(13)&CHAR(10))
A14: =SET.NAME("nextcol",0)
A15: =ELSE()
A16: =FWRITE(getname,CHAR(9))
A17: =END.IF()
A18: =NEXT()
A19: =FCLOSE(getname)
A20: =RETURN()
A1: Macro name.
A2: Initialize a variable "nextcol" equal to zero.
A3: Open a sequential file for write access using user-provided name
stored in "getname".
A4: Initialize a variable "colcount" to number of columns in the
selected range.
A5: Begin a FOR.CELL loop through the selected range.
A6: Check to see if current cell contains a number not formatted to
General.
A7: If the current cell meets above criteria, write current cell
contents to file with formatting.
A8: Otherwise
A9: Write current cell contents to file without formatting.
A10: End If clause.
A11: Increment "nextcol".
A12: Check to see if end of current row in selection.
A13: Write return and line feed to file.
A14: Reset "nextcol" to zero.
A15: Otherwise
A16: Write a tab character to file.
A17: End If clause.
A18: Go to next loop iteration.
A19: Close file on completion.
A20: End macro.
Additional query words: 4.00a XL
Keywords: kbmacro kbprogramming kbprb KB104997