• DİKKAT

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

İki satırı toplamak

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
Arkadaşlar Merhaba.

Makro ile şu kod nasıl yazılabilir.

Sub Topla()
RANGE("A1:E1")=RANGE("A1:E1")+RANGE("A2:E2")
End Sub
Üsteki kod hata veriyor. Bu mantıkta kod nasıl yazılabilir?

Yani
A1 hücresi A1 ile A2 toplamı
B1 hücresi B1 ile B2 toplamı
....
şeklinde.
Makro ile yapılabilir mi?
 
Merhaba,
Aşağıdaki şekilde dener misiniz?
Kod:
Sub Topla()
    For i = 1 To 5
        Cells(1, i).Value = Cells(1, i).Value + Cells(2, i).Value
    Next
End Sub
 
Hocam cevabınız için teşekkür ederim. Ama döngü olmadan işlem yapmak istiyorum.
 
...Ama döngü olmadan işlem yapmak istiyorum.

Merhaba,
Şöyle de yapılabilir.
Kod:
Sub Topla()
    Cells(1, 1).Value = Cells(1, 1).Value + Cells(2, 1).Value
    Cells(1, 2).Value = Cells(1, 2).Value + Cells(2, 2).Value
    Cells(1, 3).Value = Cells(1, 3).Value + Cells(2, 3).Value
    Cells(1, 4).Value = Cells(1, 4).Value + Cells(2, 4).Value
    Cells(1, 5).Value = Cells(1, 5).Value + Cells(2, 5).Value
End Sub
 
.

Şeklinde deneyin.

Kod:
Sub topla()
   
    Range("A3:E3").Select
    Application.CommandBars.ExecuteMso ("AutoSum")
    Range("A4").Select
    
End Sub


.
 
Syn DeDe,
Cevabınız için teşekkürler. Soruma cevap veriyor. Ama sütun aralığı genişledikçe bunu uygulamak zor olur.

Sn Yurttaş sizin cevabınız aralığın toplamını veriyor.

SUB TOPLA()
RANGE("A1")=RANGE("A1")+RANGE("A2")
RANGE("B1")=RANGE("B1")+RANGE("B2")
RANGE("C1")=RANGE("C1")+RANGE("C2")
RANGE("D1")=RANGE("D1")+RANGE("D2")
.
.
.
.
RANGE("Z1")=RANGE("Z1")+RANGE("Z2")
END SUB

Bu yazdığım kodların yaptığı işi tek satırda yazılabilecek kodun yapmasını istiyorum.
 
Sayın Okumuş,
Döngü olmadan tek satırda yapılabileceğini sanmıyorum. Eğer yapılabilirse ben de öğrenmek isterim.

Sayın yurttas,
Eklediğiniz kod excel2003'te hata verdi. "ExecuteMso" ifadesinde "Method or data member not found" hatasını alıyorum.
Aynı komutu 2003 te kullanabilir miyiz?
 
Sayın dEdE,
sadece makrolarla çözüme gidilmeyecek sanırım. Ben de işin içerisene biraz fonksiyon katarak sorunu çözdüm. İlginiz için teşekkür ederim.

Sub Topla()
Range("A3:Z3") = "=A1+A2"
Range("A1:Z1") = Range("A3:Z3").Value
Range("A3:Z3") = ""
End Sub
 
.

Sayın dede,

Bende 2003 yüklü değil deneme olanağım yok. Çalışması gerekir.

Ancak, "AutoSum" yerine Türkçe karşılığı neyse onu yazarak deneyin.

.
 
Sayın dEdE,
sadece makrolarla çözüme gidilmeyecek sanırım. Ben de işin içerisene biraz fonksiyon katarak sorunu çözdüm. İlginiz için teşekkür ederim.

Merhaba,

Alternatif olarak kullanabilirsiniz.

Kod:
Sub Topla()
    Range("A2:E2").Copy
    Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
    Application.CutCopyMode = False
End Sub

.
 
Sn. Ömer Bey,
Cevabınız için teşekkür ederim. Aradığım cevap buydu. Çok teşekkür ederim.
 
Geri
Üst