• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excel vba kodunu google_scripte çevirme

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,902
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
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
 
Sayın Trilenium,
İlginize teşekkür ederim.
Saygılarımla
 
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...

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

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

.
 
Sayın Haluk Hocam,
Resimdeki hata geldi
Saygılarımla
 

Ekli dosyalar

  • Adsız1.png
    Adsız1.png
    35.8 KB · Görüntüleme: 1
Mesajin Türkçe meâli; "7. satırın sonunda fazladan bir ")" karakteri var" diyor...

.
 
"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);

.
 
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

  • Adsız2.png
    Adsız2.png
    32.6 KB · Görüntüleme: 1
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
 
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.

.
 
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

  • Adsız5.png
    Adsız5.png
    15.4 KB · Görüntüleme: 1
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();
};

.
 
Sayın Haluk Hocam,
İlginize çok teşekkür ederim. Yordum sizi.
Saygılarımla
 
Problem çözüldü mü yani?

.
 
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
 
Geri
Üst