excel - Turn my text into any color in VBA for length longer than 5 characters -
i want make string turn green color if len bigger 5.
here code. can me out, keep getting error:
object doesn't support property
sub deme() dim lastrow long dim integer = 1 dim cc string dim long lastrow = worksheets("sheet1").range("c1").end(xldown).row - 1 = lastrow cc = worksheets("sheet1").range("c" & i) if len(cc) > 5 worksheets("sheet1").character(cc, i).font.color = vbred end if next end sub
it fail on line:
cc = worksheets("sheet1").range("c" & i)
because range()
returns range , cc string.
it fail on line:
worksheets("sheet1").character(cc, i).font.color = vbred
because character()
takes 1 parameter.
give try:
sub deme() dim lastrow long dim integer dim long lastrow = worksheets("sheet1").range("c1").end(xldown).row - 1 = 1 lastrow if len(worksheets("sheet1").range("c" & i).text) > 5 = 5 len(worksheets("sheet1").range("c" & i).text) worksheets("sheet1").range("c" & i).character(a).font.color = vbred next end if next end sub
also, note line:
worksheets("sheet1").range("c" & i).character(a).font.color = vbred
will set first 5 characters red. question wanted set them green, use vbgreen
instead.
if want set whole cell contents green, replace:
= 5 len(worksheets("sheet1").range("c" & i).text) worksheets("sheet1").range("c" & i).character(a).font.color = vbred next
with
worksheets("sheet1").range("c" & i).font.color = vbgreen
Comments
Post a Comment