1.Sayfadan 2.Sayfaya otomatik doldurma işlemi

Katılım
24 Eylül 2025
Mesajlar
5
Excel Vers. ve Dili
Office 2021 - Türkçe
Herkese merhabalar öncelikler.
Benim sizlere şöyle bir sorum olacak, dosya ekleme bulamadığım için docs linki bırakıyorum : https://docs.google.com/spreadsheets/d/1_LaUqZ3uAWvU0nqgeTCT11ivLilThzILLXMmTY2X5gw/edit?usp=sharing

Tabloda görülen birinci sayfaya sürekli kalemler ekleyip detayları girip mail atıyorum.
İstediğim şey bunlar ikinci tabloya sürekli olarak her yazdığımda eklenmesi.
Ama birinci sayfada P.O numarası geldiğinde bilgileri siliyorum haliyle ikinci sayfada silinmemesi gerekiyor.
ilk sayfam sürekli yazıp silme sirkülasyonu içerisinde ama ben ikinci sayfada hepsinin birikmesini istiyorum.
Umarım kendimi ifade edebilmişimdir, yardımlarınızı bekliyorum.
 
Katılım
24 Eylül 2025
Mesajlar
5
Excel Vers. ve Dili
Office 2021 - Türkçe
Güncelleme> birinci sayfaya yazdığım dökümanların ikinci sayfaya kopyalanması işimi görüyor.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,890
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
P.O'SUZ sayfasında örneğin B47:L47 doldurulduğunda TAMAMLANAN sayfasında son dolu satırdan sonrasındaki satırda B:L arasına kopyalanacak.
Sizin istediğiniz, bu mudur?
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,890
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Bu script işinizi görecektir, deneyiniz. P.O'SUZ sayfasında B:I arası doldurulduğunda (sadece E boş olabilir) (manuel olarak çalışmaz)
Kod:
function onEdit(e) {
  if (!e) return; // elle çalıştırılırsa çık
 
  var ss = e.source;
  var sheet = ss.getActiveSheet();
 
  if (sheet.getName() !== "P.O'SUZ") return;
 
  var row = e.range.getRow();
  var col = e.range.getColumn();
 
  if (row < 7) return;
  if (col < 2 || col > 9) return;
 
  // B:I değerleri
  var values = sheet.getRange(row, 2, 1, 8).getValues()[0];
 
  // Kontrol: tüm hücreler dolu OLMALI, ama E sütunu (index 3 → B=0, C=1, D=2, E=3) boş olabilir
  var allFilled = values.every(function(cell, idx) {
    if (idx === 3) return true; // E sütunu boş olabilir
    return cell !== "" && cell !== null;
  });
 
  if (allFilled) {
    Utilities.sleep(1000); // J:L formüllerinin dolması için bekle
    
    var copyRange = sheet.getRange(row, 2, 1, 11); // B:L
    var copyValues = copyRange.getValues();
    
    var targetSheet = ss.getSheetByName("TAMAMLANAN");
    var lastRow = targetSheet.getLastRow();
    if (lastRow < 7) lastRow = 6;
    
    targetSheet.getRange(lastRow + 1, 2, 1, 11).setValues(copyValues);
  }
}
iyi çalışmalar
 
Katılım
24 Eylül 2025
Mesajlar
5
Excel Vers. ve Dili
Office 2021 - Türkçe
Merhaba,
P.O'SUZ sayfasında örneğin B47:L47 doldurulduğunda TAMAMLANAN sayfasında son dolu satırdan sonrasındaki satırda B:L arasına kopyalanacak.
Sizin istediğiniz, bu mudur?
Hocam Selamlar,
Çok doğru, P.O'SUZ sayfasında B:L tarafına doldurulan herşeyin TAMAMLANAN sayfasında son dolu olan B:L hizasında devam etmesini istiyorum.
 
Katılım
24 Eylül 2025
Mesajlar
5
Excel Vers. ve Dili
Office 2021 - Türkçe
Bu script işinizi görecektir, deneyiniz. P.O'SUZ sayfasında B:I arası doldurulduğunda (sadece E boş olabilir) (manuel olarak çalışmaz)
Kod:
function onEdit(e) {
  if (!e) return; // elle çalıştırılırsa çık

  var ss = e.source;
  var sheet = ss.getActiveSheet();

  if (sheet.getName() !== "P.O'SUZ") return;

  var row = e.range.getRow();
  var col = e.range.getColumn();

  if (row < 7) return;
  if (col < 2 || col > 9) return;

  // B:I değerleri
  var values = sheet.getRange(row, 2, 1, 8).getValues()[0];

  // Kontrol: tüm hücreler dolu OLMALI, ama E sütunu (index 3 → B=0, C=1, D=2, E=3) boş olabilir
  var allFilled = values.every(function(cell, idx) {
    if (idx === 3) return true; // E sütunu boş olabilir
    return cell !== "" && cell !== null;
  });

  if (allFilled) {
    Utilities.sleep(1000); // J:L formüllerinin dolması için bekle
   
    var copyRange = sheet.getRange(row, 2, 1, 11); // B:L
    var copyValues = copyRange.getValues();
   
    var targetSheet = ss.getSheetByName("TAMAMLANAN");
    var lastRow = targetSheet.getLastRow();
    if (lastRow < 7) lastRow = 6;
   
    targetSheet.getRange(lastRow + 1, 2, 1, 11).setValues(copyValues);
  }
}
iyi çalışmalar
İlginiz için sonsuz teşekkürler. Ama verdiğiniz kodu nasıl kullanacağıma dair en ufak bir bilgim yok.
Siz üstadımdan ricam benim verdiğim link gibi bana link paylaşırsanız çok hayra geçersiniz.
Çok teşekkür ederim...
 
Katılım
24 Eylül 2025
Mesajlar
5
Excel Vers. ve Dili
Office 2021 - Türkçe
Yapmak istediğimde şu aslında hocam
İlk sayfada E sütunundaki P.O NO'yu süzüp boş olanlar diyip sürekli ilk sayfada p.o no'suz kalemleri görmek. Haliyle ben orayı doldurukça dolu olduğu için gizlenip boş olanlar tekrardan önüme gelecek. Ama ikinci sayfamda süzmeden bütün ergümanları görmek istiyorum. Saygılarımla
 
Üst