• DİKKAT

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

hücredeki bir değeri başka bir hücreye eğer formülü ile yazdırma

  • Konbuyu başlatan Konbuyu başlatan bitirme
  • Başlangıç tarihi Başlangıç tarihi
-----Son soru Hocam.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 1 To Cells(Rows.Count, "M").End(3).Row
If Cells(i, "F") <> "" And Cells(i, "M") <> "" And Cells(i, "M") = Cells(i, "F") Then
Cells(i, "G") = "ÇIKAN"
End If
Next
End Sub

---Bu sizin bana yazdığınız makro. Küçük bir değişiklikle tam oldu. Ama aşağıdaki makro ile nasıl birlikte çalıştırabilirim? Her iki makro da KASA adlı sayfaya kumanda etmeleri gerekiyor.
-----------------------------------------------------------------------------
---Bu da aynı sayfada önceden çalışan makro
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, [G:G]) Is Nothing Then Exit Sub
On Error GoTo son
ActiveSheet.Unprotect
Cells.Locked = False
If Target.Value = "MASRAF" Then
Range("I:I").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ÇIKAN" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "SATIŞ" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "BORÇ DEKONTU" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "GİREN" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALIŞ" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALACAK DEKONTU" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "KASA DEVRİ" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
son:
End If
End Sub
 
İlk kod sayfadaki herhangi bir hücreyi seçtiğinizde F ve M sütunlarını karşılaştırıp G sütununa ÇIKAN yazdırıyor. Dosyada sürekli olarak böyle bir makronun çalışması bana mantıklı gelmiyor.

İlk kodu iptal edip ikinci kod yerine de aşağıdaki kodu deneyin. Kod F ve M sütunlarına veri girildiğinde aynıysalar G sütununa ÇIKAN yazar ve koruma/kilitleme işlemini yapar:
Kod:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, [G:G]) Is Nothing Then GoTo 10
On Error GoTo son
ActiveSheet.Unprotect
Cells.Locked = False
If Target.Value = "MASRAF" Then
Range("I:I").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ÇIKAN" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "SATIŞ" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "BORÇ DEKONTU" Then
Range("I:I,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "GİREN" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALIŞ" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "ALACAK DEKONTU" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
End If
If Target.Value = "KASA DEVRİ" Then
Range("J:J,H:H").Locked = True
ActiveSheet.Protect
son:
End If
10:
If Intersect(Target, [F:F]) Is Nothing Then GoTo 20
If Target <> "" And Target = Cells(Target.Row, "M") Then
    Cells(Target.Row, "G") = "ÇIKAN"
End If

20:
If Intersect(Target, [M:M]) Is Nothing Then Exit Sub
If Target <> "" And Target = Cells(Target.Row, "F") Then
    Cells(Target.Row, "G") = "ÇIKAN"
End If


End Sub
 
Sevgili YUSUF44 Hocam,
Gerçekten çok memnun kaldım.
Sizi yordum ama benim işimi çok çok kolaylaştırıcı oldu bu makrolar.
Yardımcı arkadaş artık yanlış sütuna bilgi girip, aklımı alamayacak.
Allah cc.'da sizin işinizi kolaylaştırsın.
 
İyi günler.
Bir formül konusunda yardımınıza ihtiyacım var.
G12 HÜCRESİNE;
*E12 hücresindeki sayı, eğer F12'deki sayıdan ve aynı zamanda C8'deki sayıdan küçükse E12'deki sayıyı yazsın.
*E12'deki sayı F12'den büyük ama C8'den küçük ise F12'deki sayıyı yazsın,
*E12'deki sayı F12'den küçük ama C8'den büyük ise bu defa da C8'deki sayıyı yazsın.
 
Hayırlı sabahlar şu formülü bir dener misiniz

=EĞER(VE(E12<C8;E12<F12);E12;EĞER(VE(F12<E12;F12<C8);F12;EĞER(VE(C8<E12;C8<F12);C8;"")))
veya
=EĞER(VE(E12<F12;E12<C8);E12;EĞER(VE(E12>F12;E12<C8);F12;EĞER(VE(E12<F12;E12>C8);C8;"")))

şayet işinizi görürse sevinirim. Kolay gelsin.
 
Son düzenleme:
Hayırlı sabahlar şu formülü bir dener misiniz

=EĞER(VE(E12<C8;E12<F12);E12;EĞER(VE(F12<E12;F12<C8);F12;EĞER(VE(C8<E12;C8<F12);C8;"")))
veya
=EĞER(VE(E12<F12;E12<C8);E12;EĞER(VE(E12>F12;E12<C8);F12;EĞER(VE(E12<F12;E12>C8);C8;"")))

şayet işinizi görürse sevinirim. Kolay gelsin.


Cevap için teşekkür ederim. Ancak, E12'deki tutar C8'deki tutardan büyük olunca sonuç göstermiyor, formülün sonuna bir komut daha girmek gerekiyor. Ama işimi gördü, tekrar tşk ederim.
 
=eğer(ve(e12<f12;e12<c8);e12;eğer(ve(e12>f12;e12<c8);f12;eğer(ve(e12<f12;e12>c8);c8;eğer(ve(e12>f12;e12>c8);c8;""))))
 
Hücre değerine göre başka hücreye veri girişi

Üstadlar yardıma ihtiyacım var. Elimdeki tabloda E3 hücresinde formül sonucu çıkan değeri ("") ile boş yazdırtıyorum. Benim istediğim E3 sonucu boş ise E2 ye hiç bir değer (formül dahil) girilmesin. Yani tamamen boş hücre olsun. Yok eğer E3 değer var ise E2 ye o değeri yazsın. Araştırmadığım yer kalmadı. Bir türlü bulamadım. Tabi bu sadece bir hücre içindi. Aslında B3:N3 arası için lazım. Çıkan sonuca göre 2. satırlar ya tamamen boş olacak yada değer ne ise o olacak. Şimdiden teşekkür ediyorum.
 
İyi günler,
arkadaşlar ben EXCEL de a sutununa bir parça kodu giriyorum. örneğin 1773 hemen yanında bu parçanın adı ve satışa konu birimi(adet metre kğ vs.) çıkmasını istiyorum. yardımcı olabilir misiniz.

A

B

C

1773

100 KORİGER BORU

METRE

3749

200/100 KORİGER REDİKSİYON

ADET
 
Sorunuzdan anladığım kadarıyla aslında böyle bir malzeme listeniz var ve siz bu listeden isim ve birimin gelmesini istiyorsunuz. Aşağıdaki gibi DÜŞEYARA formülü ile sonuca gidebilirsiniz.

Bahsi geçen malzeme listenizin "MALZEME LİSTESİ" isimli sayfada olduğunu ve bu listede A sütununda malzeme kodu, B sütununda malzeme adı ve C sütununda ise birimi olduğunu varsaydım.

B2;
C++:
=DÜŞEYARA($A2;'MALZEME LİSTESİ'!$A:$C;2;0)

C2;
C++:
=DÜŞEYARA($A2;'MALZEME LİSTESİ'!$A:$C;3;0)
 
Sorunuzdan anladığım kadarıyla aslında böyle bir malzeme listeniz var ve siz bu listeden isim ve birimin gelmesini istiyorsunuz. Aşağıdaki gibi DÜŞEYARA formülü ile sonuca gidebilirsiniz.

Baahsi geçen malzeme listenizin "MALZEME LİSTESİ" isimli sayfada olduğunu ve bu listede A sütununda malzeme kodu, B sütununda malzeme adı ve C sütununda ise birimi olduğunu varsaydım.

B2;
C++:
=DÜŞEYARA($A2;'MALZEME LİSTESİ'!$A:$C;2;0)

C2;
C++:
=DÜŞEYARA($A2;'MALZEME LİSTESİ'!$A:$C;3;0)

Aynen öyle üstat. Çok teşekkür ederim.
 
Geri
Üst