Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I need to change the datatype of all cells in a column to text. I have the
following vbscript: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Call UpdateDatatypes End Sub Private Sub Workbook_Open() Call UpdateDatatypes End Sub Private Sub UpdateDatatypes() Dim myCell As Excel.Range Dim myRng As Excel.Range Dim wks As Excel.Worksheet For Each wks In Me.Worksheets Set myRng = wks.UsedRange.Cells For Each myCell In myRng.Cells If (Not Intersect(myCell, wks.Range("h:n")) Is Nothing) Then myCell.Value = CStr(Replace(myCell.Value, ",", ".")) End If If (Not Intersect(myCell, wks.Range("a:b")) Is Nothing) Then myCell.Value = CStr(Replace(myCell.Value, ",", ".")) End If Next Next End Sub Now, any cells that have only digits in them will be converted to a number type by Excel. If I use: myCell.Value = "A" & CStr(Replace(myCell.Value, ",", ".")) then cells will have a text type after the script is run. How do I keep excel from changing the type of the cells with only digits in them to number? I need this because the MS JET OleDb provider for excel is stupid and will only allow reading of a cell if it has the same type as the the cell in same column in the previous row (if not it returns an empty string). Casper |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Importing data. Problem with datatype in column | Excel Discussion (Misc queries) | |||
How do I validate the datatype of a cell's value in Excel 2007? | Excel Discussion (Misc queries) | |||
making copied cells change with change in original cell | Excel Worksheet Functions | |||
Save as a dbf file changes datatype | Excel Discussion (Misc queries) | |||
Vlookup datatype(?) issue | Excel Worksheet Functions |