• DİKKAT

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

üç taş

Katılım
25 Nisan 2006
Mesajlar
177
Excel Vers. ve Dili
OFFİCE XP TÜRKÇE
OFFİCE 2003 TÜRKÇE
OFFİCE 2010 TÜRKÇE
OFFİCE 2013 TÜRKÇE
Arkadaşlar yardımcı olur musunuz.? Şimdiden Teşekkürler.
 
1. sorunun cevabı;
hücreleri seç, Veri/doğrulama/tümsayı'yı işaretle,
altındaki sekme "arasında" olarak kalsın.
en az "0" en fazla "2" yaz.
hata iletisini de istediğini gibi ayarlayabilirsin.
 
Acemi1, Öncelikle teşekkür ederim.
Söyledikleriniz işe yaradı. 2.sorumda demek istediğim; 1 sayısından ve 2 sayısından 3 er tane den başka giriş yapılamasın. İYi geceler
 
Kod:
Sub OtomatikŞekil65_Tıklat()
'
' OtomatikŞekil65_Tıklat Makro
' Makro gg tarafından 20/05/2006 tarihinde kaydedildi.
'

'
If Range("I3") <> "" Then Exit Sub
    Range("F3").Select
    Selection.Copy
    Range("I3").Select
    ActiveSheet.Paste
    Range("F3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "0"
    Range("I3").Select
End Sub
sizin kodlarınıza verdiğim ilaveyi yaparsanız 3. sorunuzdaki probleminiz de çözülüyor.
tabi bunu yazdığınız her koda ilave etmelisiniz.


(Hay Allah, bi türlü kırmızı yazamadım. Neyse siz anlamışsınızdır zaten):)
 
Ha bir de;
ActiveCell.FormulaR1C1 = "0" yerine,
ActiveCell.Value = ""
yazarsanız daha iyi olur sanırım. Aksi takdirde kodlar bende hata veriyor da..
Tabi hesaplamayı etkiliyorsa başka

YAni kodları şu şekilde değiştirmenizi öneririm:
Kod:
Sub OtomatikŞekil65_Tıklat()
'
' OtomatikŞekil65_Tıklat Makro
' Makro gg tarafından 20/05/2006 tarihinde kaydedildi.
'

'
If Range("I3") > 0 Then Exit Sub
    Range("F3").Select
    Selection.Copy
    Range("I3").Select
    ActiveSheet.Paste
    Range("F3").Select
    Application.CutCopyMode = False
    ActiveCell.Value = ""
    Range("I3").Select
End Sub
 
SON HALİ

Acemi kardeş dedikleriniz işe yaradı teşekkür ederim.
dosyanın son hali ekte.

1 sayısından 3 tane 2 sayısından da 3 tane den başka girişi engelleyebilirmiyim acaba.
 
Re: SON HALİ

gunaygergin' Alıntı:
1 sayısından 3 tane 2 sayısından da 3 tane den başka girişi engelleyebilirmiyim acaba.
Sn gunaygergin;
o sorunuzun cevabı için iyi bir kod bilgisi gerekiyor o da bende yok.
Ben basit seviyedeki kodları yazabiliyorum şimdilik.

Ancak dikkat ettimde;
hücreler yer değiştirirken oyuncu kazandı diye uyarı veriyor ancak aslında kazanan falan yok.
bir deneyin göreceksiniz.
 
Mesela an altta iki hücreye "1" yazın,
sonra o "1" yazılı hücreyi alt sıradaki boş bir hücreye taşıyın, "kazandı" diyor.
 
Acemi1,

haklısınız orda bir algoritmik hata var. hücreyi taşır ken 3 tane yanyana gelmiş
gibi görüyor. sanırım ondan
 
Bunun önüne geçmek için ;

macroda kes yapıştır denmiş.Kodu aşağıdaki gibi değiştirirseniz Acemi arkadaşımızın demiş olduğu hata ortadan kalkıyor.
If Range("I3") > 0 Then Exit Sub

Range("F3").Select
x = Range("f3").Value
ActiveCell.FormulaR1C1 = "0"
Range("I3").Select
ActiveCell.FormulaR1C1 = x
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "0"
Range("I3").Select
End Sub
 
Bu arada en alttaki satırlarada gerek kalmıyor kodunuz kısalmış oluyor bilginize

yani Kodu aşağıdaki gibi yapabilirsiniz.

If Range("I3") > 0 Then Exit Sub
Range("F3").Select
x = Range("f3").Value
ActiveCell.FormulaR1C1 = "0"
Range("I3").Select
ActiveCell.FormulaR1C1 = x
End Sub
 
Kodunuzu Aşağıdaki gibi yazarsanız 3 taştan fazla koymuyor.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("h1").Value = 5 Then
Application.Undo
End If
If Range("I1").Value = 5 Then
Application.Undo
End If
If Range("F1").Value = 1 Then
MsgBox " MAVİ OYUNCU KAZANDI...."
End If
If Range("L1").Value = 2 Then
MsgBox " TRUNCU OYUNCU KAZANDI...."
End If

'Benim eklediğim satırlar aşağısı
If Range("H1").Value > 3 Then
MsgBox " TAŞ KOYAMAZSINIZ"
Application.Undo
End If
If Range("I1").Value > 3 Then
MsgBox " TAŞ KOYAMAZSINIZ"
Application.Undo
End If
End Sub

Dosyanın bitmiş hali Ekte.
Saygılar
 
CHANGE OLAYI

:kafa: arkadaşlar acaba çalışmamda bir ok'a basıldığında (r)
sütununda sırasıyla alt alta her hareketi listeleyebilir miyim

yani (f3) ten (ı3) e taşıyınca (r) sütununda ilk boş hücreye
(f3:ı3) yazsın. bunu sanırım (activecell.offset) komutu ile
yapılması gerekiyor.
 
Syn günaygergin dediğinizi yapmak mümkün fakat daha önce sorduğunuz işlemleri dosyanıza eklememişsiniz.Şuan 3 taştan fazla giriş yapabiliyorsunuz !!?

Saygılar
 
Dediğiniz işlemi Okların bulunduğu macroya aşağıdaki kodları eklemek ile mümkün;

sonsat = Worksheets("3TAS").[r65536].End(xlUp).Row + 1
Cells(sonsat, 18) = "F3:I3"

Ayrıca bu işlemin başına bir koşul ekleyip bu hareketi hangi oyuncunun yaptığınıda göstermeniz daha güzel olur düşüncesindeyim.

Saygılar
 
sn: tevfikdemir

verdiğiniz yöntemler çok güzel.

önceki formülü uyguladım ama gözden kaçırdığım bir nokta oldu galiba ki
başarılı olamadım.

bu komutu da uygulayacağım. Sitedeki etkin Yardımlarınızı görüyorum. Gerçekten ilginize çok teşekkür ederim.
Bu ve başka çalışmalarım da da yardımlarınızı Merakla bekliyorum. Ben daha bu işin başındayım. Sizin ve diğier arkadaşlar gibi ustalara ihtiyacımız var. Esenlikler.
 
gunaygergin' Alıntı:
önceki formülü uyguladım ama gözden kaçırdığım bir nokta oldu galiba ki
başarılı olamadım.

Önceki dediğim yöntemin altına dosyanın bitmiş halinide göndermiştim aslında! Ben denedim çalışıyor.Daha sonradan eklediğiniz kodlarla ilgili bir sorun olabilir.

Saygılar.
 
Otomatik şekillerin gizlenmesi

Tekrar merhaba

sn tevfikdemir Dosya ekte tavsiyelerinizi uyguladım harika oldu.
aklınıza sağlık.

sizden ve diğer kıymetli arkadaşlardan, hücre içinde veri yokken etrafındaki okları nasıl gizleyebilirim diye soracaktım.
Şimdiden teşekkürler.
 
Geri
Üst