This is similar to another request from earlier today but you have many more columns. The same thing should work but might take a bit to code! (copy paste will be a godsend here)
Sum(
If(IsBlank(DataCardValue1), 0, 1),
If(IsBlank(DataCardValue2), 0, 1),
If(IsBlank(DataCardValue3), 0, 1),
If(IsBlank(DataCardValue4), 0, 1),
If(IsBlank(DataCardValue5), 0, 1),
etc...
)
Do the above for each of the 200 and then as they are answered you will add 1 until all are answered and 200/200. You can put this in a textbox/label or use it to augment the size of a rectangle to use as a progress bar etc.
Progress Bar:
- Create a label (backLabel)
- make the border 2
- make the background no color
- make the width 600 and the height 80
- Now create a second label (frontLabel)
- make the border 2
- make the background Color.LimeGreen
- make sure it is directly on top of the first label and has the same height
- make the width equal to: (Value(LabelWithTotalAnswered.Text)/200) * backLabel.Width (pictures below for example of how it would look)



If you dont want the total showing, you would still need the label with the total showing so you could just send it to the back of the screen and make it not visible. that way the completion bar can still read the value it needs to work but users wont have to see it. It is just a middle man essnentially to help clean up the code.
Little more than you asked for but oh well. GL!