Excel vba kodunu google_scripte çevirme

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Kod:
Sub Gotur_Yaz()
    Range("H1").Select
    Selection.Copy
    Range([M1].Text).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("D5").Select
    Application.CutCopyMode = False
    Range([M2].Text).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 9960867
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range([M3].Text).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 13408767
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
Exceldeki VBA kodu ile yaptığım işi GoogleScript ile yapabilmem için yardımcı olur musunuz, lütfen?
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Trilenium,
İlginize teşekkür ederim.
Saygılarımla
 

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
Bence, aynı işlemi Google Sheets'de manuel olarak yaparken tıpkı MS Excel'de olduğu gibi "Makro Kaydet" yöntemini kullanın.

Ortaya çıkan script işinize yarayacaktır, olmazsa elini yüzünü biraz düzeltirsiniz...

.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
Dediklerinizi aynen yaptım ama, bir türlü başarılı olamadım. Bir okul için pandemi öncesi hazırladığım notları da bulamıyorum. O nedenle bu soruyu sordum.
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
Kod:
function Gotur_Yaz() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H1').activate();
  spreadsheet.getRange('H1').copyTo(spreadsheet.getRange("M1"),
  SpreadsheetApp.CopyPasteType.PASTE_VALUES, true);
  spreadsheet.getRange('D5').activate();
};
Bu haliyle H1 de yazılı olanları M1 e kopyalıyor. Ben M1 de yazılı hücreye kopyalamasını istiyorum. M2 de yazılı hücreyi boyayamadım.
Saygılarımla
 

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
İlgili satırı aşağıdakiyle değiştirip, deneyin...

JavaScript:
spreadsheet.getRange('H1').copyTo(spreadsheet.getRange(spreadsheet.getRange("M1").getValue()));
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
Resimdeki hata geldi
Saygılarımla
 

Ekli dosyalar

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
Mesajin Türkçe meâli; "7. satırın sonunda fazladan bir ")" karakteri var" diyor...

.
 

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
"M2" hücresinde yazılan hücre adresinin seçilerek boyanıp, bordür eklenmesi kısmı da aşağıdaki gibi olabilir;

JavaScript:
  spreadsheet.getRange(spreadsheet.getRange("M2").getValue()).activate();
  spreadsheet.getActiveRangeList().setBackground('#00ff00')
  .setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
İlginize çok teşekkür ederim. Özür diliyorum ama resimdeki hata geldi. 10. mesajınızı deneyeceğim
Saygılarımla
 

Ekli dosyalar

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
İlginize çok teşekkür ederim. Çok özür diliyorum ama 10. mesajı denedim, ilk görevi tamamlıyor ikincide resimdeki hatayı veriyor. Farklı bir şey yapmadım diye düşünüyorum.
Saygılarımla
 

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
Bende çalışan şekliyle tamamı şöyle;

JavaScript:
function Gotur_Yaz() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H1').copyTo(spreadsheet.getRange(spreadsheet.getRange("M1").getValue()));
  SpreadsheetApp.CopyPasteType.PASTE_VALUES, true;
  spreadsheet.getRange(spreadsheet.getRange("M2").getValue()).activate();
  spreadsheet.getActiveRangeList().setBackground('#00ff00')
  .setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);

  spreadsheet.getRange('D5').activate();
};
Şimdi gidip, bulaşıkları yıkamam lazım ..... sonra bir ara bakarım buraya.

.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
İlginize çok teşekkür ederim. H1 hücresinde olan
Kod:
="A"&METNEÇEVİR(D5;"00000")&";"&E5&";"&F5
Bu haliyle istenilen yere geliyor ama metin olarak değil fonksiyon olarak. Uygun olduğunuzda cevap verirseniz makbule geçer.
Saygılarımla
 

Ekli dosyalar

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
Son olarak bir de şunu deneyin...;

JavaScript:
function Gotur_Yaz() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H1').copyTo(spreadsheet.getRange(spreadsheet.getRange("M1").getValue()),
  SpreadsheetApp.CopyPasteType.PASTE_VALUES, true);
  spreadsheet.getRange(spreadsheet.getRange("M2").getValue()).activate();
  spreadsheet.getActiveRangeList().setBackground('#00ff00')
  .setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);

  spreadsheet.getRange('D5').activate();
};
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
İlginize çok teşekkür ederim. Yordum sizi.
Saygılarımla
 

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
Problem çözüldü mü yani?

.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Evet Haluk Hocam, sanırım o satır alt satırı da etkiledi parantez eksilmiş ve virgül olmuş sonu
Tekrar teşekkür ederim
Saygılarımla
 
Üst