şartları parantez içine almak

Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
Sayın Arkadaşlar ,değerli hocalarımız
aşağıdaki kod satırında matematik deki gibi önce yapılmasını istediğim işlemleri parantez içine aldım fakat çalışmıyor.
cbxbra değeri "Kantin" olupta [hcggt] "Hesaba" eşit değilse şart sağlanması lazım parantez içini önce hesaplayıpta karşılaştırma yapmıyor . Or değiştirip And yapınca oluyor ,bu seferde cbxbra değeri "Mutfak" Olunca şart sağlanmıyor
Bunun çaresi varmı ? saygılar

If (Right([hcggt], 7) <> "Kasadan" And Right([hcggt], 8) <> "Tahsilat") Or _
(cbxbra.Value = "Kantin" And [hcggt] <> "Hesaba") Then
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,457
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kod:
If ([B][COLOR=darkred]Right([hcggt], 7)[/COLOR][/B] <> "Kasadan" [COLOR=blue][B]And[/B][/COLOR] [B][COLOR=darkred]Right([hcggt], 8)[/COLOR][/B] <> "Tahsilat") Or _
(cbxbra.Value = "Kantin" And [hcggt] <> "Hesaba") Then
Daha ilk And komutunda mant&#305;k hatas&#305; oldu&#287;unu d&#252;&#351;&#252;n&#252;yorum.

Ye&#351;ertener s&#246;zc&#252;&#287;&#252;n&#252;n sa&#287;dan 7 hanesi ertener
yine sa&#287;dan 8 hanesi &#351;ertener olur, ama bamba&#351;ka bir de&#287;er olamaz.

Sizin mant&#305;kta Hem KASADAN hem TAHS&#304;LAT olamaz. Onun i&#231;in bunun And de&#287;il Or olmas&#305; gerek.

Devam&#305;nda ne yapmak istedi&#287;inizi anlamad&#305;&#287;&#305;m i&#231;in yorum yapamayaca&#287;&#305;m ama ikinci parantezde mant&#305;k hatas&#305; g&#246;r&#252;nm&#252;yor gibi.
 
Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
Say&#305;n Necdet hocam,[hcggt] h&#252;cresine cbxget(combo) ten se&#231;ilen veri yazd&#305;r&#305;l&#305;yor.
cbxget Kasadan,Merkez Kasadan,Tahsilat,Merkezden Tahsilat,Kantinden Tahsilat,Hesaba vs gibi Se&#231;enekler var. Bu combodan Gelir Tipini Se&#231;iyorum
cbxbra (combo) da ise Kantin,Mutfak,Teknik,Marangozhane vs bran&#351;lar var. Buradan Bran&#351;&#305; se&#231;iyorum.
cbxs&#252; (combo) de ise Se&#231;ilen bran&#351;a g&#246;re de&#287;i&#351;en ve listelenen sat&#305;lan &#252;r&#252;nler var

&#351;imdi, gelir tipi Tahsilat ve Kasadan olunca b&#252;t&#252;n bran&#351;larda &#252;r&#252;n&#252; se&#231;meye gerek yok di&#287;er gelir tiplerinde ise sat&#305;lan &#252;r&#252;n&#252; se&#231;mek zorunday&#305;z.
kantin bran&#351;&#305;nda bir istisna olarak gelir tipi [hcggt] Hesaba olunca da &#252;r&#252;n&#252; se&#231;mek istemiyoruz. M&#252;&#351;terinin kantinden yapt&#305;&#287;&#305; harcamay&#305; toplam olarak hesab&#305;na yaz&#305;yoruz. Ama di&#287;er bran&#351;larda [hcggt]nin ("Tahsilat" ve "Kasadan" Hari&#231;) de&#287;eri ne olursa olsun mutlaka &#252;r&#252;n&#252; se&#231;meliyiz.
Benim &#214;&#287;renmek &#304;stedi&#287;im,Matematik te; (4+2)*5 Form&#252;l&#252;nde &#246;nce parantezler i&#231;indeki i&#351;lemler yap&#305;l&#305;yor. Kod sat&#305;r&#305;nda bu dikkate al&#305;nm&#305;yor .Parantez varm&#305;&#351; yokmu&#351; fark etmiyor. Buna nas&#305;l &#231;are bulabilirim. sayg&#305;lar
 
Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
Say&#305;n arkada&#351;lar,de&#287;erli hocalar&#305;m
soruyu basitle&#351;tirdim &#231;&#252;nk&#252; cevap gelmedi belki b&#246;ylelikle daha iyi anlatabilirim
if (a=1 or a=2) and c="" then
&#351;eklinde yaz&#305;lm&#305;&#351; &#351;art ,a=1 olunca c dolu bile olsa yerine getiriliyor.sanki parantez yokmu&#351; gibi hareket ediyor.
benim istedi&#287;im a n&#305;n 1 veya 2 de&#287;erlerinde c bo&#351;sa &#351;art yerine getirilmesi laz&#305;m yard&#305;mlar&#305;n&#305;z&#305; bekliyorum te&#351;ekk&#252;rler
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
...........
if a=1 or a=2 then
      if and c="" then
      ..........
      end if  
Else
     Msgbox "Verileriniz 1 veya 2 değil ne yapayım."
End if
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,457
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

A1 hücresine 1 veya 2 C1 hücresine değer girerek ve girmeden aşağıdaki kodları deneyiniz.


Kod:
If ([A1] = 1 Or [A1] = 2) And [C1] = "" Then
    MsgBox "İşlem Doğru"
Else
    MsgBox "İşlem Yanlış"
End If
 
Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
say&#305;n hsayar ,say&#305;n necdet ikinizede te&#351;ekk&#252;rler
 
Üst