• DİKKAT

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

Kod uzun olduğu için bir kısmını almıyor !

  • Konbuyu başlatan Konbuyu başlatan cocoa35
  • Başlangıç tarihi Başlangıç tarihi
Katılım
6 Eylül 2007
Mesajlar
657
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Merhaba aşağıda biraz uzun bir formülasyon var ve ben bunu aşağıdaki kod'da kullanmak istiyorum ancak uzun olduğu için kabul etmiyor formulalocal = 'den sonra alt satıra geçiyor ve kırmızı oluyor. bunu nasıl bu formüle yerleştirebilirim?


If Range("D615") = "" Then Range("D615").FormulaLocal ="EĞERHATA(EĞER(VE(MEKKOD!C4=0;MEKKOD!C103=0);((EĞER(VE('PROSES HESAP KOD'!I165=1;'MEKANİK EKİPMAN'!R3="$");DÜŞEYARA(D664;'PROSES HESAP KOD'!B885:N892;13;1)*('GÜNCEL PRG FİYAT'!L$64+1);EĞER(VE('PROSES HESAP KOD'!I165=2;'MEKANİK EKİPMAN'!R3="$");DÜŞEYARA(D664;'PROSES HESAP KOD'!B896:F909;5;1)*('GÜNCEL PRG FİYAT'!L$64+1);EĞER(VE('PROSES HESAP KOD'!I165=1;'MEKANİK EKİPMAN'!R3="TL");DÜŞEYARA(D664;'PROSES HESAP KOD'!B885:N892;13;1)*DOVIZ2!E$2;EĞER(VE('PROSES HESAP KOD'!I165=2;'MEKANİK EKİPMAN'!R3="TL");DÜŞEYARA(D664;'PROSES HESAP KOD'!B896:F909;5;1)*DOVIZ2!E$2;EĞER(VE('PROSES HESAP KOD'!I165=1;'MEKANİK EKİPMAN'!R3="Є");DÜŞEYARA(D664;'PROSES HESAP KOD'!B885:N892;13;1)*('GÜNCEL PRG FİYAT'!M$64+1);EĞER(VE('PROSES HESAP KOD'!I165=2;'MEKANİK EKİPMAN'!R3="Є")*('GÜNCEL PRG FİYAT'!M$64+1);DÜŞEYARA(D664;'PROSES HESAP KOD'!B896:F909;5;1);(16000*(('BOYUTLAR VE KESIF'!A2-163)/250+1)))))))))*MEKANİKLER!I3);EĞER(VE(MEKKOD!C4=0;MEKKOD!C103=1);MEKKOD!D103));450000)"
 
Merhaba,

Yanılmıyorsam, işlevlerin İngilizcesini, (If, Iferror,And,Vlookup) ayrıca ; yerine , (virgül) kullanmanız gerekiyor.

Teşekkür ederim.
 
Merhaba, bilmediğim için soruyorum benim excel Türkçe sadece bu formülde İngilizce kelimeler kullanırsam formül çalışırmı?
 
Merhaba,

Çalışır, kodlamadaki işlevleri önerdiğim şekliyle yazıp deneyiniz. Formülün VBA kodu için ;


Makro kaydet'e basıp

Formülün üzerinde iken F2 tuşuna basıp

ENTER yapın

Makroyu durdurun.

Vbada oluşan kodu kullanabilirsiniz.

Teşekkür ederim.
 
Merhaba,

Çalışır, kodlamadaki işlevleri önerdiğim şekliyle yazıp deneyiniz. Formülün VBA kodu için ;

Makro kaydet'e basıp

Formülün üzerinde iken F2 tuşuna basıp

ENTER yapın

Makroyu durdurun.

Vbada oluşan kodu kullanabilirsiniz.
Teşekkür ederim.
Merhaba, Kod'u bu şekilde düzenledim ingilice komutları yerleştirdim ancak yine uzun olduğu için satır indiriyor ve kırmızı oluyor!

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range([J8: J929], [L8:L929])) Is Nothing Then Exit Sub
Application.EnableEvents = False
.
.If Range("J929") = "" Then Range("J929").FormulaLocal = "=(D9)"
.
If Range("L929") = "" Then Range("L929").FormulaLocal = "=(D5)"

If Range("L614") = "" Then Range("L614").FormulaLocal = ""
=IF(AND(MEKKOD!C4=0;MEKKOD!C96=0);((IF(AND('PROSES HESAP KOD'!I134=1;'MEKANİK EKİPMAN'!R3=""$"");VLOOKUP(D615;'PROSES HESAP KOD'!B271:K287;10;1)*('GÜNCEL PRG FİYAT'!L$64+1)*1,45;IF(AND('PROSES HESAP KOD'!I134=2;'MEKANİK EKİPMAN'!R3=""$"");VLOOKUP(D615;'PROSES HESAP KOD'!B327:K334;10;1)*('GÜNCEL PRG FİYAT'!L$64+1)*1,45;IF(AND('PROSES HESAP KOD'!I134=1;'MEKANİK EKİPMAN'!R3=""TL"");VLOOKUP(D615;'PROSES HESAP KOD'!B271:K287;10;FALSE)*DOVIZ2!E$2*0,75;IF(AND('PROSES HESAP KOD'!I134=2;'MEKANİK EKİPMAN'!R3=""TL"");VLOOKUP(D615;'PROSES HESAP KOD'!B327:K334;10;FALSE)*DOVIZ2!E$2*0,78;IF(AND('PROSES HESAP KOD'!I134=1;'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028));VLOOKUP(D615;'PROSES HESAP KOD'!B271:K287;10;1)*('GÜNCEL PRG FİYAT'!M$64+1);IF(AND('PROSES HESAP KOD'!I134=2;'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028))*('GÜNCEL PRG FİYAT'!M$64+1) *1,45;VLOOKUP(D615;'PROSES HESAP KOD'!B327:K334;10;1)*('GÜNCEL PRG FİYAT'!L$64+1);(525000*(('BOYUTLAR VE KESIF'!A2-163)/250+1)))))))))*MEKANİKLER!I3*1,45);EĞER(VE(MEKKOD!C4=0;MEKKOD!C96=1);MEKKOD!D96))"

Application.EnableEvents = True
End Sub
 
Son düzenleme:
Merhaba;

Bu tür düzeltmeleri chatGPT ye yaptırabilirsiniz.

C#:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("J8:J929, L8:L929")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    
    ' J929 hücresine formül atama
    If Range("J929") = "" Then
        Range("J929").FormulaLocal = "=(D9)"
    End If
    
    ' L929 hücresine formül atama
    If Range("L929") = "" Then
        Range("L929").FormulaLocal = "=(D5)"
    End If
    
    ' L614 hücresine formül atama
    If Range("L614") = "" Then
        Range("L614").FormulaLocal = ""
    End If
    
    ' Uzun formülü bir değişkene atama
    Dim uzunFormul As String
    uzunFormul = "=IF(AND(MEKKOD!C4=0, MEKKOD!C96=0), " & _
                 "((IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=""$""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,1)*('GÜNCEL PRG FİYAT'!L$64+1)*1.45, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=""$""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!L$64+1)*1.45, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=""TL""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,FALSE)*DOVIZ2!E$2*0.75, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=""TL""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,FALSE)*DOVIZ2!E$2*0.78, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028)), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,1)*('GÜNCEL PRG FİYAT'!M$64+1), " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028)), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!M$64+1)*1.45, " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!L$64+1))), " & _
                 "MEKANİKLER!I3*1.45), " & _
                 "IF(AND(MEKKOD!C4=0, MEKKOD!C96=1), MEKKOD!D96))"
    
    ' L614 hücresine uzun formülü atama
    If Range("L614") = "" Then
        Range("L614").FormulaLocal = uzunFormul
    End If

    Application.EnableEvents = True
End Sub
 
Merhaba;

Bu tür düzeltmeleri chatGPT ye yaptırabilirsiniz.

C#:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("J8:J929, L8:L929")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
 
    ' J929 hücresine formül atama
    If Range("J929") = "" Then
        Range("J929").FormulaLocal = "=(D9)"
    End If
 
    ' L929 hücresine formül atama
    If Range("L929") = "" Then
        Range("L929").FormulaLocal = "=(D5)"
    End If
 
    ' L614 hücresine formül atama
    If Range("L614") = "" Then
        Range("L614").FormulaLocal = ""
    End If
 
    ' Uzun formülü bir değişkene atama
    Dim uzunFormul As String
    uzunFormul = "=IF(AND(MEKKOD!C4=0, MEKKOD!C96=0), " & _
                 "((IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=""$""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,1)*('GÜNCEL PRG FİYAT'!L$64+1)*1.45, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=""$""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!L$64+1)*1.45, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=""TL""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,FALSE)*DOVIZ2!E$2*0.75, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=""TL""), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,FALSE)*DOVIZ2!E$2*0.78, " & _
                 "IF(AND('PROSES HESAP KOD'!I134=1, 'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028)), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B271:K287,10,1)*('GÜNCEL PRG FİYAT'!M$64+1), " & _
                 "IF(AND('PROSES HESAP KOD'!I134=2, 'MEKANİK EKİPMAN'!R3=UNICODEKARAKTERİ(1028)), " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!M$64+1)*1.45, " & _
                 "VLOOKUP(D615,'PROSES HESAP KOD'!B327:K334,10,1)*('GÜNCEL PRG FİYAT'!L$64+1))), " & _
                 "MEKANİKLER!I3*1.45), " & _
                 "IF(AND(MEKKOD!C4=0, MEKKOD!C96=1), MEKKOD!D96))"
 
    ' L614 hücresine uzun formülü atama
    If Range("L614") = "" Then
        Range("L614").FormulaLocal = uzunFormul
    End If

    Application.EnableEvents = True
End Sub
Dediğiniz sekilde formülü yaptım ekteki resimdeki gibi hata verdi! ancak chatGPT nedir onu bilmiyorum ayrıca üstteki tüm satırlarıda "End If" li halemi getirmem gerekiyor?
 

Ekli dosyalar

  • Ekran görüntüsü 2024-01-18 165739.png
    Ekran görüntüsü 2024-01-18 165739.png
    60.9 KB · Görüntüleme: 6
Son düzenleme:
https://chat.openai.com/

Mutlaka deneyin ama çok güvenmeyin verdiği cevaplara. Aklınıza gelen her şeyi sorabilirsiniz, şiir, öykü yazdırmak vs vs..
 
Kimsin sen kardeşim !! Nasıl cevaplar böyle ukala ukala!! Şarkı sözü yazarımısın sen !!

ChatGPT'nin verdiği cevaplara çok güvenmeyin dedim, bazen hatalı cevaplar verebiliyor.. ChatGPT'yi bilmediğini söylediğiniz için sadece kod için yardım alabileceğinizi düşünmeyin diye kod yazmaktan alakasız şeyler de sorabilirsiniz dedim. Mesela şarkı, şiir vs vs. gibi. Aklınıza gelen her konuda yardım alabilirsiniz.

Ukalalığa gelince; bence asıl sizin yaptığınız ukalalık, karşı tarafın ne dediğini anlamadan, bilmeden, araştırmadan bu şekilde çirkin cevaplar yazmak..
 
ChatGPT'nin verdiği cevaplara çok güvenmeyin dedim, bazen hatalı cevaplar verebiliyor.. ChatGPT'yi bilmediğini söylediğiniz için sadece kod için yardım alabileceğinizi düşünmeyin diye kod yazmaktan alakasız şeyler de sorabilirsiniz dedim. Mesela şarkı, şiir vs vs. gibi. Aklınıza gelen her konuda yardım alabilirsiniz.

Ukalalığa gelince; bence asıl sizin yaptığınız ukalalık, karşı tarafın ne dediğini anlamadan, bilmeden, araştırmadan bu şekilde çirkin cevaplar yazmak..
Anladım bu cevabı hakettik sanırım özür dilerim, böyle ciddi bir kurumdan biraz alakasız cevap gelince şaşırdım ?
 
Geri
Üst