• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kosullu olarak sütunlardaki değerleri update etmek

  • Konbuyu başlatan Konbuyu başlatan akbent
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Mayıs 2012
Mesajlar
4
Excel Vers. ve Dili
2007 Türkçe
Arkadaslar günlerdir uğraşıyorum kafayı yemek üzereyim.
Aslında soru bence kolay ama çözemedim bir türlü.

Kısaca şöyle özetleyeyim, bir savas oyununda kalan askerlerin hesaplanmasını yapmak istiyorum. Tabloyu oluşturdum ama oyun roundlardan oluşuyor ve her rounddan sonunda kalan askerlerle tekrar bir hesaplama yapmak gerekiyor.

Bu sebeple round sonunda saldıran veya savunan tarafda 100 den fazla asker kaldıysa, yeni round basliyor ve yine askerler ölüyor. Bu böyle iki tarafdan birinde 100 den az asker kalana kadar devam ediyor.

Excel dosyasını ekliyorum sanırım ona bakarak daha iyi anlayabilirsiniz. Soruyu dosya içinde detaylıca açıkladım yeniden.

Eğer ki yardımcı olabilirseniz, Şimdiden çok teşekkürler..
 

Ekli dosyalar

eğer soruyu iyi açıklayamamışsam lütfen belirtin daha detaylı açıklamaya çalışırım.
 
Kod:
Private Sub CommandButton1_Click()
On Error Resume Next

If Range("e36") > 100 Or Range("e36") > 100 Then
Application.Calculation = xlCalculationManual
Range("E30:E35").Select
    Selection.Copy
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = xlCut
        
Range("n30:n35").Select
    Selection.Copy
    Range("j3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = xlCut
        CommandButton1.Caption = " ROUND 2"
        End If
        Application.Calculation = xlCalculationAutomatic
        If Range("e36") < 100 Or Range("e36") < 100 Then CommandButton1.Caption = " WAR FİNİSH "
        Application.Calculation = xlCalculationAutomatic
End Sub
 
Son düzenleme:
Süper .. öncelikle bu saatte bile destek verdiğiniz için çok teşekkürler ! :) pc başında oturmuş cevap gelir mi acaba diye bekleyip duruyodum açıkcası..

Çok küçük bir hata vardı onu ben düzelttim --> Or Range("n36") olucakdı ama o da nazar boncuğu olsun :)

Peki butona her tıkladığımızda round sayısını arttırma şansımız var mı ? yani 2. kez tıkladığımda round 2 , 3. tıklayışımda round 3 olucak ve en son da savaş bitince buton disabled olucak.
Eğer kolaysa bunu da yapabilirsek 4/4 lük olur ama olmazsa bu hali bile yeterli..
 
Bildiğim herşeyi unutmuşum.. verdiğiniz code da küçük bi değişiklik yaparak sorunu çözdüm.
Biraz komik bi coding oldu ama işimi görür bu hali de. Başka ihtiyacı olan olursa diye code u aşağıda yolluyorum. Bu arada saldıran veya saldıran ın değeri 100 den küçük olursa kısmında ilk olarak ikimiz de aynı hatayı yapmışız. If Range("e36") > 100 And Range("n36") > 100 Then diye başlamamız gerekiyormuş sonradan farkettim bende. (or yerine and koymalıyız) muhtemelen geç saatten ötürü gözünüzden kaçtı ama yine de çok çok teşekkürler ...

Private Sub CommandButton1_Click()
On Error Resume Next

If Range("e36") > 100 And Range("n36") > 100 Then
Range("z1").Value = Range("z1").Value + 1
Application.Calculation = xlCalculationManual
Range("E30:E35").Select
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = xlCut

Range("n30:n35").Select
Selection.Copy
Range("j3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = xlCut
CommandButton1.Caption = Range("z1") & ".Round Sona Erdi"
Application.Calculation = xlCalculationAutomatic
End If
If Range("e36") < 100 Or Range("n36") < 100 Then
Application.Calculation = xlCalculationAutomatic
CommandButton1.Caption = "Savaş Sona Erdi !"
Application.Calculation = xlCalculationAutomatic
CommandButton1.Enabled = False
End If
End Sub

Private Sub CommandButton2_Click()
On Error Resume Next
Range("z1").Value = 0
Application.Calculation = xlCalculationManual
Range("AA3:AA8").Select
Selection.Copy
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = xlCut

Range("AB3:AB8").Select
Selection.Copy
Range("j3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = xlCut
CommandButton1.Caption = "Savaşı Başlat"
CommandButton1.Enabled = True


Application.Calculation = xlCalculationAutomatic


End Sub
 
Bir de xls (2003) formatında dosya ekleseydiniz.
 
Geri
Üst