Makroya Bağlı Formül

Engin
Mesajlar: 6
Kayıt: 17 Eki 2023, 21:32
Meslek: Satış Sonrası Hizmet Personeli
Adınız: Engin
Soyadınız: Eryılmaz

Makroya Bağlı Formül

Mesaj gönderen Engin »

Merhaba,

Google E-tablolar üzerinden bir makro mevcut, makro aşağıdaki gibidir, makro içerisne EĞER(B274="";"";(F274-G274+I273)) bu formülü eklememiz mümkün müdür?

Not : satır her defasında bir alt satıra geçiyor ve 275, 276 diye devam ediyor



function submitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Giderler"); //Form Sheet
var datasheet = ss.getSheetByName("Giderler"); //Data Sheet

//Input Values
var values = [[formSS.getRange("b3").getValue(),//yıl
formSS.getRange("c3").getValue(),//ay
formSS.getRange("d3").getValue(),//Katagori
formSS.getRange("e3").getValue(),//Açıklama
formSS.getRange("f3").getValue(),//Gelir
formSS.getRange("G3").getValue(),//Gider
formSS.getRange("h3").getValue(),//Detay Açıklama
formSS.getRange("I3").getValue()]];

datasheet.getRange(datasheet.getLastRow()+1, 2, 1, 8).setValues(values);

}
islakates
Mesajlar: 28
Kayıt: 08 Tem 2023, 00:56
Meslek: Yazılım Uygulama ve Destek Elemanı
Adınız: Zulkarneyin
Soyadınız: Albayrak

Re: Makroya Bağlı Formül

Mesaj gönderen islakates »

formSS.getRange("I3").getValue(), // İstediğiniz formül şu şekilde olabilir
// Eğer B274 boş değilse, F274-G274+I273; //boşsa boş değer verir
formSS.getRange("B274").getValue() !== "" ? formSS.getRange("F274").getValue() - formSS.getRange("G274").getValue() + formSS.getRange("I273").getValue() : ""
]
//Sonucu bildirimi yapın lütfen
Engin
Mesajlar: 6
Kayıt: 17 Eki 2023, 21:32
Meslek: Satış Sonrası Hizmet Personeli
Adınız: Engin
Soyadınız: Eryılmaz

Re: Makroya Bağlı Formül

Mesaj gönderen Engin »

islakates yazdı: 26 Kas 2023, 01:44 formSS.getRange("I3").getValue(), // İstediğiniz formül şu şekilde olabilir
// Eğer B274 boş değilse, F274-G274+I273; //boşsa boş değer verir
formSS.getRange("B274").getValue() !== "" ? formSS.getRange("F274").getValue() - formSS.getRange("G274").getValue() + formSS.getRange("I273").getValue() : ""
]
//Sonucu bildirimi yapın lütfen
Merhaba,

Kontrol ettim, fakat olmadı, satır her kaydettiğimde bir alta geçmesi gerekiyor
islakates
Mesajlar: 28
Kayıt: 08 Tem 2023, 00:56
Meslek: Yazılım Uygulama ve Destek Elemanı
Adınız: Zulkarneyin
Soyadınız: Albayrak

Re: Makroya Bağlı Formül

Mesaj gönderen islakates »

function submitData() {
// Aktif elektronik tabloyu al
var ss = SpreadsheetApp.getActiveSpreadsheet();

// "Giderler" adlı sayfayı al (Form Sayfası)
var formSS = ss.getSheetByName("Giderler");

// "Giderler" adlı sayfayı tekrar al (Veri Sayfası)
var datasheet = ss.getSheetByName("Giderler");

// Giriş Değerleri
var year = formSS.getRange("b3").getValue();
var month = formSS.getRange("c3").getValue();
var category = formSS.getRange("d3").getValue();
var description = formSS.getRange("e3").getValue();
var income = formSS.getRange("f3").getValue();
var expense = formSS.getRange("G3").getValue();
var detail = formSS.getRange("h3").getValue();

// Formül Sonucunu Hesapla ve Bir Değişkene Ata
var formulaResult = formSS.getRange("B3").getValue() !== "" ?
formSS.getRange("F3").getValue() - formSS.getRange("G3").getValue() + formSS.getRange("I3").getValue() : "";

// Değerleri Bir Dizi İçine Ata
var values = [[year, month, category, description, income, expense, detail, formulaResult]];

// Hedef Satır Numarasını Dinamik Olarak Belirle
var targetRow = datasheet.getLastRow() + 1;

// Değerleri Hedef Satıra Ata
datasheet.getRange(targetRow, 2, 1, 8).setValues(values);
}
bu kodlar her seferinde bir sonraki satıra geçiyor.
bu kodları deneyip sonucu bildirin lütfen