Kod:
Private Sub Komut6_Click()
On Error Resume Next
Dim formul As String
Dim y_formul As String
Dim j, kacinci As Integer
Dim n As String
formul = Me.Liste0.Value
y_formul = formul
kacinci = Me.Liste2.ListIndex
For j = 1 To Len(formul)
n = Mid(formul, j, 1)
If IsNumeric(n) Then
Select Case n
Case 1
y_formul = Replace(y_formul, "Metin1x", Me.Liste2.Column(n - 1, kacinci))
Case 2
y_formul = Replace(y_formul, "Metin2x", Me.Liste2.Column(n - 1, kacinci))
Case 3
y_formul = Replace(y_formul, "Metin3x", Me.Liste2.Column(n - 1, kacinci))
Case 4
y_formul = Replace(y_formul, "Metin4x", Me.Liste2.Column(n - 1, kacinci))
Case 5
y_formul = Replace(y_formul, "Metin5x", Me.Liste2.Column(n - 1, kacinci))
Case 6
y_formul = Replace(y_formul, "Metin6x", Me.Liste2.Column(n - 1, kacinci))
End Select
End If
Next
Me.Metin7.Value = y_formul
Me.Metin4.Value = Eval(y_formul)
End Sub
sn kuralın eklediği örnekte liste0 ve liste2 deki seçimlere göre hesap yapılıyor
replace komutu ile liste0 daki metinde metin1 yerine liste2 deki uygun rakam geliyordu
bır komut düğmesi ile
liste0 daki metindeki ikinci işareti "+" ise "-" yapabilirmiyiz
yani
(Metin1x + Metin2x + Metin3x) * Metin4x + Metin5x + Metin6x ve
1,50,5,6,5,9 seçili iken
sonuç şöyleydi
(1 + 50 + 5) * 6 + 5 + 9
350
bunu bir buton ile
replace komutunu veya hangisi komut uygunsa kullanarak
ikinci "+" işaretini "-" çevirerek
(1 + 50 - 5) * 6 + 5 + 9
290
sonucunu elde edebilirmiyiz
teşekkürler