Google Sheet'te aktif olan sütun sayısı nasıl öğrenilir?

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
3,994
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar merhaba,
Google sheet çalışma sayfasına kaç sütunun açık olduğunu kod ile nasıl öğrenebiliriz?
252869
Yukarıdaki görselde 9 sütun aktif. Kod bana bu 9 değerini vermeli.
252870
İkinci görselde ise 4 sütun aktif. 4 değerini nasıl öğrenebilirim.

getMaxColumns();
Bu kod sütunlarda değer varsa doğru sonucu veriyor. Ama benim sütunlarda hiç veri olmayabiliyor.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,318
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Ben denediğimde getLastColumn() ile veri varsa değer alırken getMaxColumns() ile veri olsa da olmazsa da sonuç alabildim.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
3,994
Excel Vers. ve Dili
2013 Türkçe
Ömer Bey, cevabınız için teşekkür ederim. Kodlar ile Google form oluşturuyorum. Ama kodlar çalışırken kendiliğinden sütun eklemesi yapıyor.
function BosSil(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);
var syf = ss.getSheetByName("cvp");
var x = syf.getMaxColumns();
for (j=0; j<x; j++)
{
var header = syf.getRange(1,x - j);
if (header.getValue()=='')
{
syf.deleteColumns(x - j);
}
}
}
Ekleme yaptıktan sonra kod aktif olan sütun sayısını hesaplamıyor.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,630
Excel Vers. ve Dili
Pro Plus 2021
JavaScript:
function BosSil() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName('Cvp'), true);
  var syf = ss.getSheetByName('Cvp');
  for (j = syf.getMaxColumns(); j > -1; j--) {
    if (syf.getRange(1, j).getValue() == '') {
      syf.deleteColumns(j);
    }
  }
}
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
3,994
Excel Vers. ve Dili
2013 Türkçe
Sn veyselemre cevabınız için teşekkür ederim.
function Form_Cevap_Sil(){
var formId="1eNX_CyF6pSBuSbRHAeiz8S8fQSYuezJSFIik2dhba28"
var form=FormApp.openById(formId);
form.deleteAllResponses();
}
function SatirSil() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);
spreadsheet.getRange('1:1').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('a1').activate();
const ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastrow = ss.getLastRow();
for (j=0; j+1<lastrow; j++)
{
var header = sheet.getRange(lastrow - j,1);
sheet.deleteRows(lastrow - j);

}

}

function Sil(){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);
spreadsheet.getRange('A:M').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});

}
function SutunSil() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);


const ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastColumn = ss.getLastColumn();
for (j=0; j<lastColumn; j++)
{
var header = sheet.getRange(1,lastColumn - j);
if (header.getValue()=='')
{
sheet.deleteColumns(lastColumn - j);
}
}
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Program'), true);
}
function DenemeSil() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);
sheet.deleteColumns(23);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Program'), true);
}



function BosSil(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cvp'), true);
var syf = ss.getSheetByName("cvp");
var x = syf.getMaxColumns();
for (j=0; j<x; j++)
{
var header = syf.getRange(1,x - j);
if (header.getValue()=='')
{
syf.deleteColumns(x - j);
}
}
}





var formID = '1eNX_CyF6pSBuSbRHAeiz8S8fQSYuezJSFIik2dhba28'; // Halihazırda oluşturacağınız formun idsi
var ssID = "1l44b8yJpJlIfFdp3RtUDeQK2BiiTg-sakqK-JjNJoXo"; // Soruların alınacağı sayfa idsi
var FormSablon = FormApp.openById(formID);
Logger.log('Asil URL: ' + FormSablon.getPublishedUrl());
Logger.log('Editor URL: ' + FormSablon.getEditUrl());
var SoruSayfasi = SpreadsheetApp.openById(ssID).getSheetByName("Program");
var hft =SoruSayfasi.getRange(1,1).getValues();
// FormSablon.setDescription('Tahminleri sallamadan yapınız');
FormSablon.setTitle(hft);
FormSablon.setConfirmationMessage('Tahminleri başarı ile gönderdiniz!')
FormSablon.setAllowResponseEdits(true)
/** Formu aktifleştirme */
FormSablon.setAcceptingResponses(true);
var bnk =SoruSayfasi.getRange(12,1,15,1).getValues();

function Banko(){


var addItem = FormSablon.addMultipleChoiceItem();
addItem.setTitle('Banko seçiniz.')

.setChoices([

addItem.createChoice(bnk[0][0]),
addItem.createChoice(bnk[1][0]),
addItem.createChoice(bnk[2][0]),
addItem.createChoice(bnk[3][0]),

])
// .setRequired(true);


}




function FormuTemizle(){
// Bütün formu temizliyoruz
var items = FormSablon.getItems();
while(items.length > 2){
FormSablon.deleteItem(items.pop());
}
}
function SorulariOlusturma(array){

for(var i = array.length - 1; i >= 10; i--){ // Sütun saysından((= 10)Seçeneklerin adedinden 1 Fazla olmalı)
array.splice(Math.floor(array.length), 1);
}
return array;
}
function FormOlustur() {
// Temizlik
FormuTemizle();
Form_Cevap_Sil();
SatirSil();
//Sil();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Program'), true);
var ssValues = SoruSayfasi.getDataRange().getValues();

var formItems = SorulariOlusturma(ssValues);
for(var row = 1; row < 10; row++){ // İkinci Satırdan itibaren
var newItem;
var options = [];
for(var col = 0; col < formItems[row].length; col++){
var cellValue = formItems[row][col];

switch(col) {
case 0:
// Her soru yeni bir item
newItem = FormSablon.addListItem().setTitle(cellValue).getId();

break;
default:
// Seçenekler
for(var col = 1; col < 72; col++){
var cellValue2 = formItems[col][2];
options.push(cellValue2);
}
}
}
//Seçeneklerin forma (eklenmesi

FormSablon.getItemById(newItem).asListItem().setChoiceValues(options).setRequired(true);;

}
// Banko();

//SutunSil();




}

function Program_Olustur() {

FormOlustur();
BosSil2();
};
function BosSil2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName('Cvp'), true);
var syf = ss.getSheetByName('Cvp');
for (j = syf.getMaxColumns(); j > 1; j--) {
if (syf.getRange(1, j).getValue() == '') {
syf.deleteColumns(j);
}
}
}



function Program_Olustur() {

FormOlustur();
BosSil2();
};

Program_Oluştur kod yapısında mı sorun var acaba?
 
Üst