EDIT: i have an access application in which i need to open an existing excel sheet, find a date (already in the sheet) and populate a row (with the date cell column) with either 1 or 0
this means i have to convert the datecell.column to the alphabet equivalent before i can set a cell to be populated.
I used a function, which i have used in excel before (as seen below) END EDIT
Function Col_Letter(lngcol) As String
    Dim vArr
    vArr = Split(Cells(1, lngcol).Address(True, False), "$")
    Col_Letter = vArr(0)
    End Function
the code below is an example of how i use the code in my application
Dim  CD, d, f, f1, f2, g, strd
  ...
            For n = 0 To 10
            d = CD + n
            strd = Str(d)
            Select Case Weekday(strd)
            Case vbSunday, vbSaturday
            Case Else
            Set f = book.Worksheets(a).Range("5:5").Find(strd)
            f1 = f.Column
            f2 = Col_Letter(f1)
            g = f2 & Srow
            book.Worksheets(a).Range(g).Value = "0"
            End Select
            Next n
        End If
'CD = Current date, a = worksheetname set eariler in code, srow = excel row number set earlier in code`enter code here`
'this is executed in an excel sheet which was opened from access
when i run this, sometimes it runs perfectly and other times i get the Method 'Cells' of Object'_Global' failed error code and when i click debug it highlights the third line of the col_letter function 
vArr = Split(Cells(1, lngcol).Address(True, False), "$")
do you have a clue to why it (seemingly) randomly chooses to display this error?
 
     
     
    
for the second suggetion i got the same method cells of object global failed – user3041384 Feb 10 '14 at 13:47