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
dışarı çıkmak durumunda kaldım haluk bey 1 saate ofise geçip deneme yapıcam o yüzden beklettim biraz
 

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
Peki....

Bu arada, aşağıdaki script de alternatif olarak verilmiştir. Öncekinde, veriler diğer sayfaya aktarıldıktan sonra "Tablo" sayfasındaki "F" sütunu "boş" olanlar "For" döngüsüyle süzülüyordu. Bu kez, filtre metodu kullanıldı. Büyük veri yığınlarında hız açısından fayda sağlar belki....

JavaScript:
function transferData2() {
  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 dataRange     = sourceSh.getRange('A7:K').getValues();

  /* 'Tablo' sayfasinda A7:K araliginda 'A' sutunu dolu olan satir sayisi...*/
  var countRows     = dataRange.filter(array3 => array3[0] != '').length; 

  /* 'Tablo' sayfasinda A7:K araliginda 'F' sutunu bos olan satirlari filtrele...*/
  var newData = sourceSh.getRange('A7:K' + (6 + countRows)).getValues().filter(function (xRow) {
    return xRow[5] == '';
    });

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

  sourceSh.getRange('A7:K' + (newData.length + 6)).setValues(newData);
}

.
 
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
İlk attığınız çalıştı ve işimi görür gibi çok fazla kopyalama yapmıyacak günlük 25-30 satır alıcak teşekkür ediyorum
bir başka konuda destek almak istiyorum ama bir düşeyara formülü ile bir sayfadan veri çekiyoruz ama tekrarlayan girdiler oluyor düşeyara ilk bulduğu veriyi getiriyor bana benim istediğim şu örneğin arattığım veriyi A12 ve A17 hücresinde buldu eğer 12. satırda F sütunu doluysa yani çıkış saati girilmişse bana A17 de bulunan veriyi vermesi e-tablo da böyle bir formül 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
Tam anlamadım ama, belki aşağıdaki resimde belirttiğim gibi birşey olabilir.

Bu formül; formülün yazıldığı sayfada A1 hücresinde yazılan değeri Tablo!A7:F18 aralığındaki A sütununda arar, eğer bulduğu satırın F sütunu da boşsa, tablonun C sütunundaki değerini getirir. Eğer 1'den fazla sonuç bulunursa, hepsini alt alta yazar.




.
 
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
tamamdır datayı tamamlamış oldum çok teşekkürler tekrar desteğin için dostum
 

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 bey selamlar sizle birlikte eklediğimiz scripte bir eksiklik var destek olarbilir misiniz ?
Save butonu ile sayfayı kopyaladığımızda K sütununda araçların resimleri ekleniyor fakat komut çalışıp kopyaladığında resim linklerini almıyor nasıl yapabiliriz ?
 

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
Linkleri almayı bu script'e entegre etmek nasıl olur, ben de bilemedim.... çünkü bu script "getValues" ile hücrelerin direkt olarak değerlerini alıyor.

Muhtemelen script'in mantığını değiştirmek lazım ama benim uğraşacak vaktim yok.....

.
 
Üst