Jump to content

Format Cell as Date *3/14/2001

Recommended Posts


Is there an easy way to format a cell to date or currency? I found some old threads that were not much help. 

I have looked at the wiki but I only see how to format as a number

I assume there is not a way like I did for making the text bold. 

Any suggest or help would be appreciated. 



I am able to get the format changed to text using

$oExcel.Activesheet.range("A1:L1").NumberFormat = "@"


#include <Excel.au3>

Global $sBox

Func InputHowMany()

    While 1
        $sBox = Number(InputBox("How many?", "How many?"))
        If $sBox = 0 Then
               $iMsg = MsgBox(1, 'Oops', 'Please enter a valid number')
            If $iMsg = 2 Then Exit
            Return $sBox - 1

$oExcel = _Excel_Open()
$oExcel = _Excel_BookNew($oExcel)

Local $t = 2
Local $w = 1
Local $c = 301

$oExcel.Activesheet.range("A1:L1").font.bold = True

   _Excel_RangeWrite($oExcel,Default, "Status", "A1")
   _Excel_RangeWrite($oExcel,Default, "Last Name", "B1")
   _Excel_RangeWrite($oExcel,Default, "Last Name", "C1")
   _Excel_RangeWrite($oExcel,Default, "SSN", "D1")
   _Excel_RangeWrite($oExcel,Default, "DOB", "E1")
   _Excel_RangeWrite($oExcel,Default, "Email", "F1")
   _Excel_RangeWrite($oExcel,Default, "Mailing Address", "G1")
   _Excel_RangeWrite($oExcel,Default, "City", "H1")
   _Excel_RangeWrite($oExcel,Default, "State", "I1")
   _Excel_RangeWrite($oExcel,Default, "Zip Code", "J1")
   _Excel_RangeWrite($oExcel,Default, "Gender", "K1")
   _Excel_RangeWrite($oExcel,Default, "Phone", "L1")

   _Excel_RangeWrite($oExcel,Default, '=B' & $c, "B" & $t)
   _Excel_RangeWrite($oExcel,Default, '=C' & $c, "C" & $t)
   _Excel_RangeWrite($oExcel,Default, '=D' & $c, "D" & $t)
   _Excel_RangeWrite($oExcel,Default, '=E' & $c, "E" & $t)
   _Excel_RangeWrite($oExcel,Default, '=F' & $c, "F" & $t)
   _Excel_RangeWrite($oExcel,Default, '=G' & $c, "G" & $t)
   _Excel_RangeWrite($oExcel,Default, '=H' & $c, "H" & $t)
   _Excel_RangeWrite($oExcel,Default, '=I' & $c, "I" & $t)
   _Excel_RangeWrite($oExcel,Default, '=J' & $c, "J" & $t)
   _Excel_RangeWrite($oExcel,Default, '=K' & $c, "K" & $t)
   _Excel_RangeWrite($oExcel,Default, '=L' & $c, "L" & $t)

      $c = $c + 1
      $t = $t + 1
      $w = $w + 1

Until $w > $sBox




Edited by SkysLastChance

Life's simple. You make choices and you don't look back.

Share this post

Link to post
Share on other sites

You should be able to do

$oExcel.Activesheet.range("A1:L1").NumberFormat = "yyyy-mm-dd"

For that specific date format.

  • Like 1


Share this post

Link to post
Share on other sites

The link I posted in the wiki for numbers contains examples for date format as well: http://peltiertech.com/Excel/NumberFormats.html

Edited by water

My UDFs and Tutorials:


Active Directory (NEW 2017-04-18 - Version - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version - Download - General Help & Support

ADO - Wiki


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • MrCheese
      By MrCheese
      HI there
      this is driving me nuts - i get the row count, but not the column count - what am I missing? Thanks for your help!
      #include <Excel.au3> #include <Array.au3> #include <MsgBoxConstants.au3> ; XlDirection enumeration: https://msdn.microsoft.com/en-us/library/office/ff820880.aspxGlobal $oExcel = _Excel_Open() Global $xlup = -4162 Global $xlByRows, $xlPrevious, $xlByColumns Global $oExcel = _Excel_Open() $bookname = "temp.xlsx" $sWorkbook = @ScriptDir & "\" & $bookname Global $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, Default, Default, True) With $oWorkbook.ActiveSheet ; process active sheet $oRangeLast = .UsedRange.SpecialCells($xlCellTypeLastCell) ; get a Range that contains the last used cells $iRowCount = .Range(.Cells(1, 1), .Cells($oRangeLast.Row, $oRangeLast.Column)).Rows.Count ; get the the row count for the range starting in row/column 1 and ending at the last used row/column $iColCount = .Range(.Cells(1, 1), .Cells($oRangeLast.Row, $oRangeLast.Column)).Column.Count MsgBox(0, "", "row:" & $iRowCount & "Col:" & $iColCount) EndWith  
      for context - i want to :
      * count columns used in excel
      * create ini file from the rows in each column - finishing at the last column used - i.e. one column for one ini file; containing 15 rows or so.
      is it better to read the entire sheet to an array via the sheettoarray function? then read it from that?
    • AnonymousX
      By AnonymousX
      Sorry if this is a repost, but having some trouble searching for the answer and pretty tired right now.
      I'm just wondering how to make a border around a range of cells in Excel. I want the regular lines created by selecting "All Borders" option around F2:G3
      I saw this code:
      With $oExcel.ActiveSheet.range("F2:G3") .Select .Borders($xlEdgeBottom).LineStyle = $xlContinuous .Borders($xlEdgeBottom).Weight = $xlThick .Borders($xlEdgeBottom).ColorIndex = $xlAutomatic EndWith but I get errors of these variables not existing. It seems these no longer exist in the "#include <Excel.au3>"
      Is there another include file I need?
      I got this to work for highlighting cells, wondering if there is a option similar to this for all borders?
      $oExcel.ActiveSheet.Range("F2:G3").Interior.ColorIndex = 6 Thanks
    • YouriKamperman
      By YouriKamperman
      I am working on a script that will turn all file names in a directory into an array, and then writes this Array to an Excel file.
      This in itself is working, but the RangeWrite function always puts the Array count in the first cell.
      How can i make sure this does not happen? I can of course just filter it out in Excel, but i am trying to keep all logic of filtering text in my script.
      This is what my script looks like:
      Local $Yesterday = _DateAdd('d', -1, _NowCalcDate())
      Local $cDate = StringReplace($Yesterday, "/", "-")
      Local $aFileList = _FileListToArray(@WorkingDir & "/" & $cDate, "*")
      Local $oExcel = _Excel_Open()
      Local $oWorkbook = _Excel_BookNew($oExcel)
      _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aFileList)
    • Eminence
      By Eminence
      Is there a way wherein I can access the data from an array coming from an Excel file then have it assigned on to a variable?
      Below is a snippet of my current code. For now, it just reads and outputs the data from the excel file and have it displayed via an array.
      #include <Array.au3> #include <Excel.au3> #include <MsgBoxConstants.au3> Local $oExcel = _Excel_Open(False) If @error Then Exit MsgBox(0, "Error", "Error creating application object." & @CRLF & "Error: " & @error & " Extends: " & @extended) ; Open Excel Woorkbook and return object Local $sWorkbook = @ScriptDir & "\Excel Files\Test Data.xlsx" Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, False, True) If @error Then MsgBox(0, "Error", "Error opening workbook'" & $sWorkbook & ".'" & @CRLF & "Error: " & @error & "Extends: " & @extended) _Excel_Close($oExcel) Exit EndIf Local $aResult = _Excel_RangeRead($oWorkbook) ; Error Trapping If @error Then MsgBox(0, "Error", "Error reading data from '" & $sWorkbook & ".'" & @CRLF & "Error: " & @error & " Extends: " & @extended) _Excel_Close($oExcel) Exit EndIf _ArrayDisplay($aResult) My Excel file has values from Column A to H with values from 1 to 30, what I desired to do is have the value in "A7" assigned on to a variable. 
      Any help is appreciated. Thanks in advance.
    • JNutt
      By JNutt
      I am trying to close an excel file that was not opened with _Excel_Open.  How do I found the excel application object?  I'm new and I am used to files and folders names, so an 'object' is new to me.  I have the info too and simply spy, but I don't know which info is the object name/string.  In the example from help doc's I see the code below and I tried justin pasting it into Scite.
      Local $oExcel1 = ObjCreate("Excel.Application")
      ; Close the Excel instance which was not opened by _Excel_Open
      ; (will still be running because it was not opened by _Excel_Open)
      If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Close Example 1", "Error closing the Excel application." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
      Local $aProcesses = ProcessList("Excel.exe")
      MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Close Example 1", "Function ended successfully." & @CRLF & @CRLF & $aProcesses[0][0] & " Excel instance(s) still running.")

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.