Change forecolor in Listview depending on value excel vba









up vote
0
down vote

favorite












Hope you can help me... I have a displayed data on my listview. The column Headers are:



ROW ID CUSTOMER PICKUP DELIVERY LOAD PLACE BAGS AMOUNT STATUS -total of 10 columns



I want the forecolor in my column STATUS depends on the value. the value is either PAID or UNPAID, if PAID the color should be green and if UNPAID, the color should be red.



I have this code, but it not working for me, somebody will help me? Thank you in advance.



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C

**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To listView1.ListItems.Count
Set Item = listView1.ListItems.Item(counter)
If Item.SubItems(10) = "Paid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = vbGreen
End If
If Item.SubItems(10) = "Unpaid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = VBRed


Next counter


End Sub









share|improve this question























  • not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
    – Dy.Lee
    Nov 10 at 4:33










  • @Dy.Lee I tried it already still not working
    – dio123
    Nov 10 at 4:44














up vote
0
down vote

favorite












Hope you can help me... I have a displayed data on my listview. The column Headers are:



ROW ID CUSTOMER PICKUP DELIVERY LOAD PLACE BAGS AMOUNT STATUS -total of 10 columns



I want the forecolor in my column STATUS depends on the value. the value is either PAID or UNPAID, if PAID the color should be green and if UNPAID, the color should be red.



I have this code, but it not working for me, somebody will help me? Thank you in advance.



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C

**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To listView1.ListItems.Count
Set Item = listView1.ListItems.Item(counter)
If Item.SubItems(10) = "Paid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = vbGreen
End If
If Item.SubItems(10) = "Unpaid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = VBRed


Next counter


End Sub









share|improve this question























  • not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
    – Dy.Lee
    Nov 10 at 4:33










  • @Dy.Lee I tried it already still not working
    – dio123
    Nov 10 at 4:44












up vote
0
down vote

favorite









up vote
0
down vote

favorite











Hope you can help me... I have a displayed data on my listview. The column Headers are:



ROW ID CUSTOMER PICKUP DELIVERY LOAD PLACE BAGS AMOUNT STATUS -total of 10 columns



I want the forecolor in my column STATUS depends on the value. the value is either PAID or UNPAID, if PAID the color should be green and if UNPAID, the color should be red.



I have this code, but it not working for me, somebody will help me? Thank you in advance.



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C

**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To listView1.ListItems.Count
Set Item = listView1.ListItems.Item(counter)
If Item.SubItems(10) = "Paid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = vbGreen
End If
If Item.SubItems(10) = "Unpaid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = VBRed


Next counter


End Sub









share|improve this question















Hope you can help me... I have a displayed data on my listview. The column Headers are:



ROW ID CUSTOMER PICKUP DELIVERY LOAD PLACE BAGS AMOUNT STATUS -total of 10 columns



I want the forecolor in my column STATUS depends on the value. the value is either PAID or UNPAID, if PAID the color should be green and if UNPAID, the color should be red.



I have this code, but it not working for me, somebody will help me? Thank you in advance.



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C

**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To listView1.ListItems.Count
Set Item = listView1.ListItems.Item(counter)
If Item.SubItems(10) = "Paid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = vbGreen
End If
If Item.SubItems(10) = "Unpaid" Then
listView1.ListItems.Item(counter).ListSubItems(10).ForeColor = VBRed


Next counter


End Sub






excel vba excel-vba






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 7:19









Pᴇʜ

19.6k42650




19.6k42650










asked Nov 10 at 2:32









dio123

65




65











  • not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
    – Dy.Lee
    Nov 10 at 4:33










  • @Dy.Lee I tried it already still not working
    – dio123
    Nov 10 at 4:44
















  • not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
    – Dy.Lee
    Nov 10 at 4:33










  • @Dy.Lee I tried it already still not working
    – dio123
    Nov 10 at 4:44















not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
– Dy.Lee
Nov 10 at 4:33




not 10 , to be 9. Item.SubItems(10) ~~~>Item.SubItems(9)
– Dy.Lee
Nov 10 at 4:33












@Dy.Lee I tried it already still not working
– dio123
Nov 10 at 4:44




@Dy.Lee I tried it already still not working
– dio123
Nov 10 at 4:44












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










listsubitime must be 9, since index numbers start at 0.
In my test, it work well.



enter image description here



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long
Dim li As ListItem

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C
Dim vDB
vDB = Range("a1").CurrentRegion
For i = 2 To UBound(vDB, 1)
Set li = ListView1.ListItems.Add
For j = 1 To UBound(vDB, 2)
With li
.Text = i
.ListSubItems.Add , , vDB(i, j)
End With
Next j
Next i
'**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To ListView1.ListItems.Count
Set Item = ListView1.ListItems.Item(counter)
If Item.SubItems(9) = "Paid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbGreen
End If
If Item.SubItems(9) = "Unpaid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbRed
End If

Next counter


End Sub





share|improve this answer




















  • Thank you for your help!. So much appreciated!
    – dio123
    Nov 10 at 5:01










  • @dio123, I am glad that it works well.
    – Dy.Lee
    Nov 10 at 5:02










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235541%2fchange-forecolor-in-listview-depending-on-value-excel-vba%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote



accepted










listsubitime must be 9, since index numbers start at 0.
In my test, it work well.



enter image description here



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long
Dim li As ListItem

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C
Dim vDB
vDB = Range("a1").CurrentRegion
For i = 2 To UBound(vDB, 1)
Set li = ListView1.ListItems.Add
For j = 1 To UBound(vDB, 2)
With li
.Text = i
.ListSubItems.Add , , vDB(i, j)
End With
Next j
Next i
'**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To ListView1.ListItems.Count
Set Item = ListView1.ListItems.Item(counter)
If Item.SubItems(9) = "Paid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbGreen
End If
If Item.SubItems(9) = "Unpaid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbRed
End If

Next counter


End Sub





share|improve this answer




















  • Thank you for your help!. So much appreciated!
    – dio123
    Nov 10 at 5:01










  • @dio123, I am glad that it works well.
    – Dy.Lee
    Nov 10 at 5:02














up vote
0
down vote



accepted










listsubitime must be 9, since index numbers start at 0.
In my test, it work well.



enter image description here



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long
Dim li As ListItem

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C
Dim vDB
vDB = Range("a1").CurrentRegion
For i = 2 To UBound(vDB, 1)
Set li = ListView1.ListItems.Add
For j = 1 To UBound(vDB, 2)
With li
.Text = i
.ListSubItems.Add , , vDB(i, j)
End With
Next j
Next i
'**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To ListView1.ListItems.Count
Set Item = ListView1.ListItems.Item(counter)
If Item.SubItems(9) = "Paid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbGreen
End If
If Item.SubItems(9) = "Unpaid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbRed
End If

Next counter


End Sub





share|improve this answer




















  • Thank you for your help!. So much appreciated!
    – dio123
    Nov 10 at 5:01










  • @dio123, I am glad that it works well.
    – Dy.Lee
    Nov 10 at 5:02












up vote
0
down vote



accepted







up vote
0
down vote



accepted






listsubitime must be 9, since index numbers start at 0.
In my test, it work well.



enter image description here



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long
Dim li As ListItem

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C
Dim vDB
vDB = Range("a1").CurrentRegion
For i = 2 To UBound(vDB, 1)
Set li = ListView1.ListItems.Add
For j = 1 To UBound(vDB, 2)
With li
.Text = i
.ListSubItems.Add , , vDB(i, j)
End With
Next j
Next i
'**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To ListView1.ListItems.Count
Set Item = ListView1.ListItems.Item(counter)
If Item.SubItems(9) = "Paid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbGreen
End If
If Item.SubItems(9) = "Unpaid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbRed
End If

Next counter


End Sub





share|improve this answer












listsubitime must be 9, since index numbers start at 0.
In my test, it work well.



enter image description here



Private Sub UserForm_Activate()

Dim C As Long
Dim i As Long
Dim R As Long
Dim li As ListItem

ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.HotTracking = True
ListView1.HoverSelection = False

ListView1.ColumnHeaders.Add Text:="Row", Width:=40

For C = 1 To 12
ListView1.ColumnHeaders.Add Text:=Cells(1, C).Text
ComboBox1.AddItem Cells(1, C).Text
Next C
Dim vDB
vDB = Range("a1").CurrentRegion
For i = 2 To UBound(vDB, 1)
Set li = ListView1.ListItems.Add
For j = 1 To UBound(vDB, 2)
With li
.Text = i
.ListSubItems.Add , , vDB(i, j)
End With
Next j
Next i
'**' |In this part of my code is not working|**
Dim Item As ListItem
Dim counter As Long

For counter = 1 To ListView1.ListItems.Count
Set Item = ListView1.ListItems.Item(counter)
If Item.SubItems(9) = "Paid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbGreen
End If
If Item.SubItems(9) = "Unpaid" Then
ListView1.ListItems.Item(counter).ListSubItems(9).ForeColor = vbRed
End If

Next counter


End Sub






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 10 at 4:56









Dy.Lee

3,032159




3,032159











  • Thank you for your help!. So much appreciated!
    – dio123
    Nov 10 at 5:01










  • @dio123, I am glad that it works well.
    – Dy.Lee
    Nov 10 at 5:02
















  • Thank you for your help!. So much appreciated!
    – dio123
    Nov 10 at 5:01










  • @dio123, I am glad that it works well.
    – Dy.Lee
    Nov 10 at 5:02















Thank you for your help!. So much appreciated!
– dio123
Nov 10 at 5:01




Thank you for your help!. So much appreciated!
– dio123
Nov 10 at 5:01












@dio123, I am glad that it works well.
– Dy.Lee
Nov 10 at 5:02




@dio123, I am glad that it works well.
– Dy.Lee
Nov 10 at 5:02

















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235541%2fchange-forecolor-in-listview-depending-on-value-excel-vba%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Use pre created SQLite database for Android project in kotlin

Darth Vader #20

Ondo