metinde belli kelimeleri bulup değiştirmek

1 2
23/08/2010, 15:36

Subco

sn.accessman,
bilgisizligimiz icin kusura bakmayin.
Daha cok bilgi edinilmesi ve faydanalanilmasi icin programi tam olarak koymamizda bir SAKINCA varmidir?

Selamlar

Subco
24/08/2010, 15:52

accessman

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
1 2