Google E-Tablo VBA komutu

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,023
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar merhaba.
Google e-tablolarda, Excel VBA'daki "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" komutunun karşılığı var mı?
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Kod:
function moveValuesOnly() {
........
//kodlarınız
//kodlarınız
...
}
Örnek:
VBA macro ile yazılmış bir kod:
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("D2")) Is Nothing Then
        With Sheets("Meeting")
            .Range("A1") = Cells(Target.Row, "B").Value
            .Range("B1") = Cells(Target.Row, "C").Value
        End With
    End If
End Sub
Aynı kodun Google Sheets Script karşılığı:
Kod:
function moveValuesOnly() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange('Client!B2:C2');
  source.copyTo(ss.getRange('Meeting!A1:A2'), {contentsOnly: true});
}
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,023
Excel Vers. ve Dili
2013 Türkçe
Sn antonio, cevap ve örneğiniz için teşekkür ederim. Sanırım bu google docs'un dili VBA'dan tamamen farklı. İşimi kolaylaştıracak bir dosya hazırlamaya çalışıyorum.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C2")) Is Nothing Then Exit Sub
x = WorksheetFunction.Match(Range("B2"), Range("B4:B19"), 0) + 3
If Range("C2") <> Range("C1").Offset(x - 1, 0) Then Exit Sub
Range("I4:AB19") = Range("I4:AB19").Value
Range("I" & x & ":AB" & x) = "=IF(INDIRECT(I2)="""","""",INDIRECT(I2))"
Range("E4").Select
End Sub
Google docs diline ne kadar hakimsiniz bilmiyorum ama size zahmet olmazsa bu kodları çevirebilir misiniz?
 

Ekli dosyalar

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Sayın Okumuş,
Bu konuda sizin sorunuzu görmeden önce hiçbir fikrim yoktu.
İngilizce ile aranız nasıl bilmiyorum. Eğer iyiyse aşağıda belirttiğim video size bir fikir verebilir.
https://www.youtube.com/watch?v=mX2_XNYPGiI
(oldukça uzun olmakla beraber, google apps script kodlarının nasıl görüntülendiği, videonun 31:37 zaman çizgisinde örneklendiriliyor.)
Ben, yüzeysel ingilizcem ile google arama yerine: "convert vba to google apps script" yazdım, çıkan bir örneği sizinle paylaştım.
Anladığım kadarını sizinle hızlıca paylaşayım:
Öncelikle bir Gmail hesabına ihtiyacınız var. Bu hesabınıza giriş yaparak Drive seçeneğini tıklıyorsunuz.
VBA kodlarını içeren dosyanızı Drive olarak yükledikten sonra, sağ tıklayarak Google spreedsheet olarak açıyorsunuz. Dosyanızın bir doküman olarak değil tarayıcı sekmesinde açıldığını göreceksiniz. F12 tuşuna basarak kodlarına ulaşıyorsunuz. Anladığım kadarı ile, Google, otomatik olarak VBA kodlarını kendi script diline çevirmiş oluyor, siz de onların yeni halini bu şekilde izleyebiliyorsunuz.
Belki masaüstü başka araçları da vardır.
Google, kod arayüzü JavaScript diline çok benzeyen bir kodlama kullanıyor.
Ama ne yazık ki daha fazla bilgi sahibi değilim.
 
Son düzenleme:

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,023
Excel Vers. ve Dili
2013 Türkçe
Sn antonio; cevabınız için teşekkür ederim. İngilizcem çok da kötü sayılmaz. Soruyu sormadan önce ve cevabınızdan sonra araştırdım. Türkçe bilgiye hiç rastlamadım. VBA'dan farklı bir dil ama çok fazlası gerekli değil. Yukarıda yazdığım kısmı çevirmek benim için yeterli. Araştıracağım. Tekrardan teşekkür ederim.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Rica ederim. Kolay gelsin..
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,023
Excel Vers. ve Dili
2013 Türkçe
Dosyayı oluşturdum. Düğmeye makro atadım. Bilgisayarda çalışıyor ama telefonda komut dosyası çalışmıyor. Acaba telefonda çalışmıyor mu, yoksa başka yöntem var mıdır?
 
Katılım
4 Ocak 2014
Mesajlar
25
Excel Vers. ve Dili
VBA Bilirim. Çalışırım Google E-tablo Kod.gs öğrenmeye
Bana Aşağıdaki Kodlamayı Google E Tabloda Kullanılabilecek şekilde Ayarlayabilen Bir arkadaş Varmı acaba

Private Sub Worksheet_Change(ByVal Target As Range)
Dim res As String
Dim a As Shape
Dim AV6 As Range
If Target = "" Or Target.Address <> "$AV$6" Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set AU2 = Range("AU2")
For Each a In Shapes
a.Delete
Next a
AU2.ClearContents
res = "C:\Users\Serhat\Desktop\18.01.2017\Puntaj.jpeg\" & Target & ".jpg"
If Dir(res) = "" Then
AU2 = "RESİM YOK"
Else
With ActiveSheet.Pictures.Insert(res)
.Left = AU2.Left
.Top = AU2.Top
.Height = AU2.Height
.Width = AU2.Width
End With
End If
End Sub
 
Üst