Soru Google e-tablo ya makro ekleme

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
merhaba
işyeri için hazırladığımız bir e tablo da makro kullanmak istiyoruz makro şu şekilde çalışacak
sheet1 de 7. satırdan aşağıya dolu olan satırları SAVE butonu sayesinde sheet2 sayfasına çekebilicez mümkün mü acaba
 

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
Bunun için script hazırlamaya gerek yok, formülle yapılır.

.
 

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Destek alabilir miyim peki nasıl yapabiliriz örnek doya eklesem yardım olabilir misiniz ?
 

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
Google tabloyu paylasima acip, linki buraya yazin.

Musait bir zamanda bakarim, su anda disaridayim.

.
 

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025

Bu datanın bir kopyası biraz denedim ama malesef başaramadım destek olursanız çok sevinirim.
 

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
Aşağıdaki script işinizi görür;

JavaScript:
function transferData() {
  var ss       = SpreadsheetApp.getActive();
  var sourceSh = ss.getSheetByName('Tablo');
  var targetSh = ss.getSheetByName('Operasyon Data');
 
  var data     = sourceSh.getRange("A7:R").getValues().filter(array => array[0] != ''); 
  var dataRow  = data.length ;
  var lastRow  = targetSh.getLastRow() + 1;
  targetSh.getRange('A'+ lastRow + ':R' + (lastRow + dataRow - 1)).setValues(data);
  sourceSh.getRange("A7:K").setValue('');
};

.
 
Son düzenleme:

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Selamlar script çalışıyor fakat tablo sayfasından satırları kopyalarken formülleri de kopyalayıp siliyor taşıma işlemi tamamlandıktan sonra sayfadaki formüllerde silinmiş oluyor bunu engelleyebilir miyiz ?
tablo sayfasında L ile R sutünları arasında formül bulunmakta bu formülleri silmemesi gerekiyor
 

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
6. mesajdaki script'i revize ettim. Onu kullanabilirsiniz....

.
 
Son düzenleme:

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Haluk selam çok teşekkür ederim desteğin için son bir sorum olucak kopyalamayı yaptığımız operasyon data sayfasında s sütununda formül var script en alta atmaya komutlandığı için s sütununda ki formülün bittiği satıra taşıyor verileri s sütununu devre dışı bırakma şansımız var mı ?
kopyalama işlemini A dan R sütununa 7. satırdan başlayarak alt alta sıralaması mümkün mü ?
 

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
Hmmmm..... o zaman aşağıdaki revize edilmiş script'i deneyin, sonuçtan haber verirsiniz....

JavaScript:
function transferData() {
  var ss       = SpreadsheetApp.getActive();
  var sourceSh = ss.getSheetByName('Tablo');
  var targetSh = ss.getSheetByName('Operasyon Data');
 
  var dataRange     = sourceSh.getRange('A7:R').getValues()
  var data          = dataRange.filter(array1 => array1[0] != ''); 
  var dataRow       = data.length;
 
  arrTargetData     = targetSh.getRange('A7:A').getValues(); 
  var targetLastRow = arrTargetData.map(array2 => array2[0]).indexOf('') + 7;
  targetSh.getRange('A'+ targetLastRow + ':R' + (targetLastRow + dataRow - 1)).setValues(data);

  sourceSh.getRange('A7:K').setValue('');
}

.
 
Son düzenleme:

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Efsanesin dostum komut güzel çalıştı ben komuta buton ekledim ekstra olarak ama bu butonu kullanabilecek kişileri filtre atabilirmiyim bir nevi hücre koruma mantığı
 

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
O tür işler Google Sheets'de çok kolay değil...... Zaten, sonuçta bir başkası açıp script'i incelerse kendine göre korumayı kaldırabilir. Gerçi script'i dosyaya yazmayıp, "remote" bilgisayardan script file ile çalıştırarak ona da çözüm bulunur ama siz şimdilik böyle idare edersiniz....

.
 

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Tamamdır çok teşekkür ederim tekrar desteğin için fazlasıyla yardımcı oldun..)
 

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Haluk bir sorum daha olucak;
biz tablo kısmını komple kopyalamasını istiyoruz ya bunu sadece çıkış saati(F Sütunu) dolu olan satırları kopyalayacak şekilde revize edebilir miyiz ?
15 satır doludur ama sadece 8 tane satırda Çıkış Saati yazıyodur ben bu 8 satırı kopyalamak istesem
 

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
Script'te aşağıdaki satırı;

JavaScript:
 var data          = dataRange.filter(array1 => array1[0] != '');

bununla değiştirin;
JavaScript:
 var data          = dataRange.filter(array1 => array1[5] != '');

.
 

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
Bunu denedim F sütunu dolu olanları aktarıyor fakat kopyaladığı sayfadan Tüm sayfayı temizliyor sadece f sütunu dolu olanları kopyalayıp onları silmesi gerekiyor
 

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
Bunu soracağınızı tahmin etmiştim..... Aşağıdaki revize edilmiş script'i deneyin.

"Tablo" sayfasında "F" sütunu dolu olan satırları diğer sayfaya alır, boş olan satırlar ise arada boşluk olmayacak şekilde "Tablo" sayfasında tekrar listelenir.

JavaScript:
function transferData() {
  var ss       = SpreadsheetApp.getActive();
  var sourceSh = ss.getSheetByName('Tablo');
  var targetSh = ss.getSheetByName('Operasyon Data');

  var dataRange     = sourceSh.getRange('A7:R').getValues();
  var data          = dataRange.filter(array1 => array1[5] != '');
  var dataRow       = data.length;

  arrTargetData     = targetSh.getRange('A7:A').getValues();
  var targetLastRow = arrTargetData.map(array2 => array2[0]).indexOf('') + 7;
  targetSh.getRange('A'+ targetLastRow + ':R' + (targetLastRow + dataRow - 1)).setValues(data);

  var newData    = sourceSh.getRange('A7:K').getValues();
  var colNum     = 5;
  var targetData = new Array();

  for(n=0; n<newData.length; ++n) {
    if(newData[n][colNum] == ''){
      targetData.push(newData[n])
      }
  }
  sourceSh.getRange('A7:K').setValue('');
  sourceSh.getRange(7,1,targetData.length,targetData[0].length).setValues(targetData);
}
.
 
Son düzenleme:

ardaizm

Altın Üye
Katılım
19 Ekim 2022
Mesajlar
31
Excel Vers. ve Dili
vba
Altın Üyelik Bitiş Tarihi
17-04-2025
L ve R sütunları arasındaki formülleride siliyor bu sefer
 

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
17 No'lu mesajdaki script'i revize ettim, tekrar deneyin....

.
 

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
Arda Bey;

Sorun çözüldü mü, bir haber verseydiniz...

.
 
Üst