- Katılım
- 11 Mart 2005
- Mesajlar
- 3,151
- Excel Vers. ve Dili
- Office 2013 İngilizce
Merhaba,
Bir arkadaşımız çocuğu için verilen matematik bulmacasını çözmek için bir VBA kodu yazmaya çalışıyorum.
Ekli dosyada A2, B2, C2 ve D2 hücrelerinde kullanabileceğiniz 4 adet sayı verilmekte, bu sayıları kullanarak A1 Hücresinde yazan hedef değere ulaşmaya çalışıyorum
A2, B2, C2 ve D2 hücrelerinde verilen sayıları yalnızca bir kez kullanarak, hedef sayıya ulaşmak için dört aritmetik işlemi (+), (-), (.), (/) kullanarak hedef sayıya ulaşmaya çalışacağız. Burada verilecek sayıların tamamı tam sayı olmak zorunda.
Aşağıda yazmış olduğum kodun tersini uyulacağız, burada tümevarım yaptım, olması gereken tümden gelim. çünkü her olayda varyasyonlar değişik olacak, bir tane çözüm bulmamız yeterli olacak bize;
Kurallar:
1+2=3
4*5=20
3*20=60
Yalnız Bu işlemi vba koduyla tersten yapmamız gerekiyor?
yardımlarınız için şimdiden teşekkürler,
Bir arkadaşımız çocuğu için verilen matematik bulmacasını çözmek için bir VBA kodu yazmaya çalışıyorum.
Ekli dosyada A2, B2, C2 ve D2 hücrelerinde kullanabileceğiniz 4 adet sayı verilmekte, bu sayıları kullanarak A1 Hücresinde yazan hedef değere ulaşmaya çalışıyorum
A2, B2, C2 ve D2 hücrelerinde verilen sayıları yalnızca bir kez kullanarak, hedef sayıya ulaşmak için dört aritmetik işlemi (+), (-), (.), (/) kullanarak hedef sayıya ulaşmaya çalışacağız. Burada verilecek sayıların tamamı tam sayı olmak zorunda.
Aşağıda yazmış olduğum kodun tersini uyulacağız, burada tümevarım yaptım, olması gereken tümden gelim. çünkü her olayda varyasyonlar değişik olacak, bir tane çözüm bulmamız yeterli olacak bize;
Kurallar:
- Verilen her sayıyı yalnızca bir kez kullanabilirsiniz.
- Girdi sayıları en fazla 50, hedef sayı en fazla 1000 değerini alabilir.
- Verilen tüm sayıları kullanmak zorunda değilsiniz.
- 4 işlemin hepsini kullanmak zorunda değilsiniz.
1+2=3
4*5=20
3*20=60
Yalnız Bu işlemi vba koduyla tersten yapmamız gerekiyor?
yardımlarınız için şimdiden teşekkürler,
Kod:
Sub Puzzle()
Dim h As Integer
Dim a As Integer, b As Integer
Dim c As Integer, d As Integer
Dim a4 As Integer, a5 As Integer
Dim a6 As Integer, a7 As Integer
ActiveSheet.Range("A4:B10").ClearContents
With ActiveSheet
a = .Range("A2").Value
b = .Range("B2").Value
c = .Range("C2").Value
d = .Range("D2").Value
End With
a4 = d / a
ActiveSheet.Range("A4") = a4
a5 = a4 + c
ActiveSheet.Range("A5") = a5
a6 = a5 * b
ActiveSheet.Range("A6") = a6
End Sub
Ekli dosyalar
-
14.8 KB Görüntüleme: 7
-
13.1 KB Görüntüleme: 4