• DİKKAT

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

comboboxdan bir değer seçince yanindaki hücreye otomatik olarak değer ataması

  • Konbuyu başlatan Konbuyu başlatan ceydas
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Ağustos 2007
Mesajlar
14
Excel Vers. ve Dili
2003 türkçe
Merhaba,
Yapmak istediğim şey D5 deki combobox da 0 değerini seçersem E5 ve F5 e direkt olarak 0 değerini ataması ve bu hücrelerin deaktif olması. Bunu nasıl yapabilirim. Dosyam ektedir. Yardımcı olursaniz cok sevinirim.
 
tam kelimeyi bilmiyorum , inaktif , salt okunur ?? Yani D5 te 0 degerini secerse E5 ve F5 de sıfır olsun ve üzerine tiklandiginda müdahale edilemesin. G5 e de toplam degeri 0 olarak atadiktan sonra veri girsine H5 itibari ile izin versin.
 
Aşağıdaki kodları "YAZSINÇİZ" sayfasının kod kısmına ekleyin. Koşullar doğru olduğunda "E5" ve "F5" hücreleri seçilemeyek. Bu da işinizi görür zannedersem.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" And Target = 0 Then
    [E5,F5] = 0
        ElseIf Target.Address = "$D$5" And Target <> 0 Then
    [E5,F5] = ""
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [D5] = 0 And (Target.Address = "$E$5" Or Target.Address = "$F$5") Then
       Target.Offset(1, 0).Select
    End If
End Sub
 
Merhaba Hamit bey,
Öncelikle çok teşekkürler, ellerinize sağlık.
Göndermiş olduğunuz kodu ekledim. İstediğim şey olmuş ancak terimlere yabancı ve excelde bir sorunu açıklamada yetersiz olduğum için, sanırım yanlış aktardım bazı şeyleri. Göndermiş olduğunuz kodda D5 i sıfır seçince E5 ve F5 sıfır oluyor ancak uzerine tıkladığımızda bir alt satıra gidiyor benim istediğim direkt olarak H5 in üzerine gitmesiydi. Ben de göndermiş olduğunuz kodu kendimce çözerek şöyle yaptım:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" And Target = 0 Then
[E5,F5] = 0
ElseIf Target.Address = "$D$5" And Target <> 0 Then
[E5,F5] = ""
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [D5] = 0 And (Target.Address = "$E$5" Or Target.Address = "$F$5" Or Target.Address = "$G$5") Then
Target.Offset(0, 1).Select
End If
End Sub

Çalıştırdığımda olmuş gibi görünüyor.Bir de demin dediğim gibi size eksik ve yanlış aktardığımdan dolayı bu kod sadece D5 için çalışıyor.Aslında ben bunu 4.sutunun tümü için kullanmak istiyorum. Yani D5 de çalıştığı gibi D12 VE D17de çalışsın. Hatta ben 18. kişiyi eklediğimde orada da çalışşsın. Çok mu karışık olur?
İyi çalışmalar,
 
bu kod sadece D5 için çalışıyor.Aslında ben bunu 4.sutunun tümü için kullanmak istiyorum. Yani D5 de çalıştığı gibi D12 VE D17de çalışsın. Hatta ben 18. kişiyi eklediğimde orada da çalışşsın

Şu şekilde deneyiniz.

Kod:
Public son As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Set Sh = Sheets("YAZSINÇİZ")
son = Sh.Cells(65536, 1).End(xlUp).Row
If Intersect(Target, Sh.Range(Cells(5, 4), Cells(son, 4))) Is Nothing Then Exit Sub
    If Target = 0 Then
          Cells(Target.Row, 5) = 0: Cells(Target.Row, 6) = 0
    ElseIf Target <> 0 Then
          Cells(Target.Row, 5) = "": Cells(Target.Row, 6) = ""
    End If
    Set Sh = Nothing
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Set Sh = Sheets("YAZSINÇİZ")
If Intersect(Target, Sh.Range(Cells(5, 5), Cells(son, 6))) Is Nothing Then Exit Sub
   If Cells(Target.Row, 4) = 0 Then
        Target.Offset(0, 1).Select
   End If
Set Sh = Nothing
End Sub
 
Merhaba,
Denedim. Çok güzel olmuş.Tam istediğim gibi çalışıyor ancak D sutununda sıfırı seçince G sutununa kadar atlıyor. Acaba G yi de gecip H ye atlaması için ne yapılabilir?
 
Merhaba,
Kodunuzdaki Cells(son, 6))) yı 7 yaptim. Oldu gibi görünüyor. Doğru mudur sizce?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Set Sh = Sheets("YAZSINÇİZ")
If Intersect(Target, Sh.Range(Cells(5, 5), Cells(son, 7))) Is Nothing Then Exit Sub
If Cells(Target.Row, 4) = 0 Then
Target.Offset(0, 1).Select
End If
Set Sh = Nothing
 
Kesinlikle do&#287;ru...

"6" y&#305; "7" yapmakla, E,F veya H s&#252;tunlar&#305;n&#305;, ko&#351;ula g&#246;re atlama i&#351;lemi i&#231;in se&#231;mi&#351; bulunuyorsunuz. Bu da sizi e&#287;er ko&#351;ul do&#287;ruysa, direkt G s&#252;tunundaki ilgili h&#252;creye kayd&#305;r&#305;yor.
 
Emeği geçen herkese çok teşekkür ederim.
İyi çalışmalar.
 
Geri
Üst