formül silinmesin

Katılım
3 Haziran 2021
Mesajlar
203
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Merhaba Google e tabloda aşağıdaki gibi bir User formum var. Kaydet-Sil Komutlu. Komutum çalışıyor ama çözemediğim bir sorunum var
Sil dediğimde her şey siliniyor. Ama bazı hücrelerde formüllerim var. Hücre sonucu silinsin ama hücredeki formül silinmesin istiyorum formül silinince user form bir işe yaramıyor bunu nasıl aşabilirim yardımınıza ihtiyacım bvar

const ss=SpreadsheetApp.getActiveSpreadsheet()
const formWS = ss.getSheetByName("Form")
const settingsWS = ss.getSheetByName("Veri")
const dataWS = ss.getSheetByName("Data")
const idCeel=formWS.getRange("B1")
const fieldsRange= ["D7","D9","D11","D13","G7","G9","G11","G13","D15","F15","I9"]

function saveRecord(){

const fielValues= fieldsRange.map(f=>formWS.getRange(f).getValue())
const nextIDCeel= settingsWS.getRange("A2")
const nextID= nextIDCeel.getValue()
fielValues.unshift(nextID)
//console.log(fielValues)
dataWS.appendRow(fielValues)
idCeel.setValue(nextID)
nextIDCeel.setValue(nextID+1)
}
function newRecord(){
fieldsRange.forEach(f=>formWS.getRange(f).clearContent())
idCeel.clearContent()





}
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Formüllerin veri aldığı hücrelerin içeriğini silmeniz gerekir, başka yolu yok....

.
 
Katılım
3 Haziran 2021
Mesajlar
203
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Haluk Bey oldu
Artık user form da temizle komutu ile hücreler siliniyor ama formüller silinmiyor
kod aşağıdaki gibidir.

const ss=SpreadsheetApp.getActiveSpreadsheet()
const formWS = ss.getSheetByName("Form")
const settingsWS = ss.getSheetByName("Veri")
const dataWS = ss.getSheetByName("Data")
const idCell=formWS.getRange("B1")
const VeriHucreleri= ["D7","D9","D11","D13","G7","G9","G11","G13","D15","F15","I9"]
const TemizlenecekHucreler= ["D7","D11","G7","G9","G11","G13","D15","I9"]

function saveRecord(){

const fielValues= VeriHucreleri.map(f=>formWS.getRange(f).getValue())
const nextIDCell= settingsWS.getRange("A2")
const nextID= nextIDCell.getValue()
fielValues.unshift(nextID)
//console.log(fielValues)
dataWS.appendRow(fielValues)
idCell.setValue(nextID)
nextIDCell.setValue(nextID+1)
}
// Kaydı gerçekleştiren fonksiyon
function saveRecord2() {
// Formdaki veri alanlarının değerlerini al
const fieldValues = VeriHucreleri.map(f => formWS.getRange(f).getValue());
// Herhangi bir hücre boş mu kontrol et
const isEmpty = fieldValues.some(value => value === "");

// Eğer herhangi bir hücre boşsa uyarı ver, aksi takdirde verileri kaydet
if (isEmpty) {
SpreadsheetApp.getUi().alert('Lütfen tüm gerekli alanları doldurun!');
} else {
const nextIDCell = settingsWS.getRange("A2");
const nextID = nextIDCell.getValue();
fieldValues.unshift(nextID);

// Verileri hedef sayfaya ekleyin
dataWS.appendRow(fieldValues);//lkjasdkjs
idCell.setValue(nextID);
nextIDCell.setValue(nextID + 1);
FormTemizle();
}
}
function FormTemizle(){
TemizlenecekHucreler.forEach(f=>formWS.getRange(f).clearContent())
idCell.clearContent()
}
 
Üst