Változónevek megadása ciklussal
2021-05-11T19:27:33+02:00
2021-05-11T23:51:08+02:00
2022-07-19T00:30:59+02:00
csborsika
Sziasztok!

Nyilvánvalóan halál egyszerű a megoldás, de most valahogy képtelen vagyok rájönni...

Adott egy egyszerű űrlap (18 db CheckBox, a nevek ChecBox1, .....CheckBox18), ami, ha OK-val bezárom, 18 Boolean változóba mentené a CheckBox-ok értékeit. A változók neve: P_1, ...P_18.
(Azért nem egyből cellába, mert a fő űrlapról nyílik ez az űrlap, és esetlegesen el is lesz vetve mentés előtt, így csak annak a leokézásakor venném át ezen változók értékeit az adattáblába.)

Hogyan tudom ezt ciklussal megoldani?

Ilyesmit próbáltam, de persze már beíráskor hibaüzenetet kapok:

Private Sub OK_Click() For i = 1 To 18 "P_" & i = Userform1.Controls("CheckBox" & i).Value Next i Userform1.Hide End Sub
Hogy tudom megadni a változó nevét a cikluson belül ahelyett, hogy "P_" & i?
Köszönöm a választ előre is!
Mutasd a teljes hozzászólást!
Szia!
Egy megoldási lehetőség:
Definiálsz egy 18 elemű tömböt és utána a ciklussal tudsz értéket adni a tömbelemeknek.

Option Base 1 ' a modul elejére, hogy tömb indexe 1-től induljon. Sub OK_Click Dim P(18) As Boolean, i as integer For i=1 to 18 P(i)=Userform1.Controls("CheckBox" & i).Value Next
Üdv.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd