For... Next

S

Sylvian

Hello,

Does anybody of you know, how I can make the following "For… next"–
string?

This is how it is currently working:

val = Worksheet1.Range("h13").Value
If Worksheet1.Range("h13").Value = "x" Then
Worksheet1.CheckBox6.Value = True
Else
Worksheet1.CheckBox6.Value = False
End If
val = Worksheet1.Range("h14").Value
If Worksheet1.Range("h14").Value = "x" Then
Worksheet1.CheckBox7.Value = True
Else
Worksheet1.CheckBox7.Value = False
End If

This is I want to make it:

Dim iCounter As Integer

For iCounter = 8 To 38

val = Worksheet1.Cells(iCounter,1).Value
If Worksheet1. Cells(iCounter,1).Value = "x" Then
Worksheet1.CheckBox6(iCounter,1).Value = True
Else
Worksheet1.CheckBox6(iCounter,1).Value = False
End If
 
D

Dave Peterson

You can assign a linked cell to each of your checkboxes, so that if you put True
or False into the cell the associated checkbox will change (checked or not
checked).

But if you want, you could use some code like this:

Option Explicit
Sub testme01()

Dim iCounter As Long
Dim wks As Worksheet
Dim Val As Variant

Set wks = Worksheets("sheet1")

For iCounter = 1 To 3
Val = wks.Cells(iCounter, 1).Value
If LCase(Val) = "x" Then
wks.OLEObjects("CheckBox" & iCounter).Object.Value = True
Else
wks.OLEObjects("checkbox" & iCounter).Object.Value = False
End If
Next iCounter

End Sub

or more simply:

Option Explicit
Sub testme01()

Dim iCounter As Long
Dim wks As Worksheet
Dim Val As Variant

Set wks = Worksheets("sheet1")

For iCounter = 1 To 3
Val = wks.Cells(iCounter, 1).Value
wks.OLEObjects("CheckBox" & iCounter).Object.Value = CBool(LCase(Val) = "x")
Next iCounter

End Sub

But I'm confused on where the cells are and what the associated names are for
each checkbox. You used H13, but then asked about cells(icounter,1) (that 1
means column A).

(I only tested with 3 checkboxes.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top