ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Keep getting error, wont run macro! HELP! (https://www.excelbanter.com/excel-discussion-misc-queries/226013-keep-getting-error-wont-run-macro-help.html)

Myles

Keep getting error, wont run macro! HELP!
 
Okay so using some code i have tried and tried to get this to work in
different ways but cant figure out why it's not working


For easy sakes we will say that

intRowNum = 2
strDescription = "Comment goes here"

' This should basically have theCell return as like "D2" or whichever letter
it is

theCell = ColumnLetter(LastColumn(intRowNum)) & intRowNum
Range(theCell).AddComment (strDescription)



Function LastColumn(Row As String) As String
' This gets the last column in a row when the row is specified
LastColumn = ActiveSheet.Cells(intRowNum,
Columns.Count).End(xlToLeft).Column + 1
End Function


Function ColumnLetter(ColumnNumber As Integer) As String
' This converts the column back to the appropriate letter
If ColumnNumber 26 Then
ColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
Else
ColumnLetter = Chr(ColumnNumber + 64)
End If
End Function



Basically i already know what the row is, i just need to find the last
column of that row that has no text in it, and then add my own comment to it.

Thanks for the help guys!

Dave Peterson

Keep getting error, wont run macro! HELP!
 
You can use cells() instead of Range() and it'll make life easier:

cells(intrownum,"D").addcomment strdescription
or
cells(intrownum,4).addcomment strdescription

So

Dim LastCol as long
with activesheet
lastcol = .cells(intrownumb,.columns.count).end(xltoleft).co lumn
.cells(intrownum,lastcol).addcomment strdescription
'or for one cell to the right of that last column
.cells(intrownum,lastcol+1).addcomment strdescription
end with







Myles wrote:

Okay so using some code i have tried and tried to get this to work in
different ways but cant figure out why it's not working

For easy sakes we will say that

intRowNum = 2
strDescription = "Comment goes here"

' This should basically have theCell return as like "D2" or whichever letter
it is

theCell = ColumnLetter(LastColumn(intRowNum)) & intRowNum
Range(theCell).AddComment (strDescription)

Function LastColumn(Row As String) As String
' This gets the last column in a row when the row is specified
LastColumn = ActiveSheet.Cells(intRowNum,
Columns.Count).End(xlToLeft).Column + 1
End Function

Function ColumnLetter(ColumnNumber As Integer) As String
' This converts the column back to the appropriate letter
If ColumnNumber 26 Then
ColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
Else
ColumnLetter = Chr(ColumnNumber + 64)
End If
End Function

Basically i already know what the row is, i just need to find the last
column of that row that has no text in it, and then add my own comment to it.

Thanks for the help guys!


--

Dave Peterson

Per Jessen

Keep getting error, wont run macro! HELP!
 
Hi

This should do it

Sub test()
Dim intRowNum As Integer
intRowNum = 2
strDescription = "Comment goes here"

LastColumn = ActiveSheet.Cells(intRowNum,
Columns.Count).End(xlToLeft).Column + 1
' This should basically have theCell return as like "D2" or whichever letter
it is

theCell = Cells(intRowNum, LastColumn).Address
Range(theCell).AddComment (strDescription)
'or
' cells(intRowNum, LastColumn).AddComment(strDescription)
End Sub

Regards,
Per

"Myles" skrev i meddelelsen
...
Okay so using some code i have tried and tried to get this to work in
different ways but cant figure out why it's not working


For easy sakes we will say that

intRowNum = 2
strDescription = "Comment goes here"

' This should basically have theCell return as like "D2" or whichever
letter
it is

theCell = ColumnLetter(LastColumn(intRowNum)) & intRowNum
Range(theCell).AddComment (strDescription)



Function LastColumn(Row As String) As String
' This gets the last column in a row when the row is specified
LastColumn = ActiveSheet.Cells(intRowNum,
Columns.Count).End(xlToLeft).Column + 1
End Function


Function ColumnLetter(ColumnNumber As Integer) As String
' This converts the column back to the appropriate letter
If ColumnNumber 26 Then
ColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
Else
ColumnLetter = Chr(ColumnNumber + 64)
End If
End Function



Basically i already know what the row is, i just need to find the last
column of that row that has no text in it, and then add my own comment to
it.

Thanks for the help guys!




All times are GMT +1. The time now is 08:12 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com