aynı hücreye girilen verileri başka hücrelere aktarma

Katılım
29 Mayıs 2014
Mesajlar
15
Excel Vers. ve Dili
EXEL 2007 TÜRKÇE
Merhaba.
Aşağıya yazdığım makro her defasında A1 hücresine girilen verileri C sütunundaki ilk boş hücreye yazıyor.
Bana ise bunun çoklusu lazım.

örneğin; A1 e girileni E sütunu, B1 e girileni G sütunu, C1 e girileni h sütunu... gibi birkaç tane olabilir.

Birde Sütun değilde Örneğin; A1 e girilen veriyi 10. satıra , B1 e girilen veriyi 11. satıra... gibi girme imkanı var mı.

Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.


Kod:
[COLOR="Red"]Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
For i = 1 To Range("C65535").End(xlUp).Offset(1, 0).Row
If Range("C" + CStr(i)).Value = "" Then
Range("C" + CStr(i)).Value = Target.Value
Exit For
End If
Next i
End If
End Sub[/COLOR]
 
Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Örnek dosya ekleyip örnek dosya üzerinde almak istediğiniz sonucu gösteriniz. Bu şekilde sorunuz net anlaşılmıyor.
Örnek dosyanızı dosya paylaşım sitelerine ekleyip link vererek paylaşabilirsiniz.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
A1:I1 arası çalışır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [a1:I1]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    cancel = True
    If Target.Value <> "" Then
        Target.Select
        Application.EnableEvents = False
        sat = Target.Column + 9
        If Cells(sat, 1) = "" Then
            Cells(sat, 1) = Target.Value
        Else
            If Cells(sat, Columns.Count) = Empty Then
                sut = Cells(sat, Columns.Count).End(xlToLeft).Column
                Cells(sat, sut + 1) = Target.Value
            Else
                MsgBox sat & ".Satır doldu.", vbCritical
            End If
        End If
        Application.EnableEvents = True
    End If
End Sub
 
Katılım
29 Mayıs 2014
Mesajlar
15
Excel Vers. ve Dili
EXEL 2007 TÜRKÇE
Sayın veyselemre çok teşekkür ederim tam istediğim gibi olmuş.

Sizden ricam verileri A1 e girdiğimizde B sütununa , C1 e girdiğimizde D sütununa, E1 e girdiğimizde de F sütununa verileri girsin. İmkanı varsa çok sevinirim.

uzun zamandır bu konuda çalışıyorum yalnız makro bilgim çok az.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Sayın veyselemre çok teşekkür ederim tam istediğim gibi olmuş.

Sizden ricam verileri A1 e girdiğimizde B sütununa , C1 e girdiğimizde D sütununa, E1 e girdiğimizde de F sütununa verileri girsin. İmkanı varsa çok sevinirim.

uzun zamandır bu konuda çalışıyorum yalnız makro bilgim çok az.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [a1,c1,e1]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    cancel = True
    If Target.Value <> "" Then
        Target.Select
        Application.EnableEvents = False
        sut = Target.Column + 1
        If Cells(1, sut) = "" Then
            Cells(1, sut) = Target.Value
        Else
            If Cells(Rows.Count, sut) = Empty Then
                sat = Cells(Rows.Count, sut).End(xlUp).Row
                Cells(sat + 1, sut) = Target.Value
            Else
                MsgBox Choose(sut / 2, "B", "D", "F") & " Sütunu doldu.", vbCritical
            End If
        End If
        Application.EnableEvents = True
    End If
End Sub
 
Katılım
29 Mayıs 2014
Mesajlar
15
Excel Vers. ve Dili
EXEL 2007 TÜRKÇE
Üstad Allah senden razı olsun çok işimi gördü. Ben biraz kendime göre değiştirdim.
A1 ile A1000 arasındaki hücrelere veri girildiğinde sırasıyla aynı satıra verileri ekliyor.
sizden son bir ricam eğer imkanı varsa
veri girdiğim hücreleri enter' a bastıktan sonra kopyalayıp atsın ama sonra veri girilen hücreyi boşaltsın.
Örneğin A1 e veri Girdim sırasıyla C1, D1, E1...... 'e atıyor Bu çok güzel.
sonra A1' de enson girdiğim veri kalıyor bunun silinebiliyorsa silinmesini istiyorum.

kendime göre düzenlediğim makro bu.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [a1:a10000]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    cancel = True
    If Target.Value <> "" Then
        Target.Select
        Application.EnableEvents = False
        sat = Target.Row
        If Cells(sat, 3) = "" Then
            Cells(sat, 3) = Target.Value
            Else
            If Cells(sat, Columns.Count) = Empty Then
                sut = Cells(sat, Columns.Count).End(xlToLeft).Column
                Cells(sat, sut + 1) = Target.Value
            Else
                MsgBox sat & ".Satır doldu.", vbCritical
            End If
        End If
        Application.EnableEvents = True
    End If
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
[B][COLOR=Red]        Target.Value = ""[/COLOR][/B]
        Application.EnableEvents = True
    End If
 
Katılım
29 Mayıs 2014
Mesajlar
15
Excel Vers. ve Dili
EXEL 2007 TÜRKÇE
Uzun zamandır çözememiştim üstad Allah senden razı olsun olsun çok çok teşekkür ederim. Ellerin dert görmesin.
 
Katılım
7 Haziran 2017
Mesajlar
1
Excel Vers. ve Dili
excel 2016 türkçe
aynısı

A1:I1 arası çalışır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [a1:I1]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    cancel = True
    If Target.Value <> "" Then
        Target.Select
        Application.EnableEvents = False
        sat = Target.Column + 9
        If Cells(sat, 1) = "" Then
            Cells(sat, 1) = Target.Value
        Else
            If Cells(sat, Columns.Count) = Empty Then
                sut = Cells(sat, Columns.Count).End(xlToLeft).Column
                Cells(sat, sut + 1) = Target.Value
            Else
                MsgBox sat & ".Satır doldu.", vbCritical
            End If
        End If
        Application.EnableEvents = True
    End If
End Sub
Arkadaşlar excel hakkında pek bilgim yok bunun oluşturulmuş halini bana m.bayir46@hotmail.com'a atabilirmisiniz. şimdiden teşekkür ederim.
 
Katılım
3 Eylül 2007
Mesajlar
6
Excel Vers. ve Dili
2002
MERHABALAR ;

=ÇOKETOPLA('C:\Documents and Settings\user\Belgelerim\Downloads\[Dist Raporu.xlsm]Final Data'!$K:$K;'C:\Documents and Settings\user\Belgelerim\Downloads\[Dist Raporu.xlsm]Final Data'!$A:$A;$B$1;'C:\Documents and Settings\user\Belgelerim\Downloads\[Dist Raporu.xlsm]Final Data'!$I:$I;B4;'C:\Documents and Settings\user\Belgelerim\Downloads\[Dist Raporu.xlsm]Final Data'!$E:$E;A$2;'C:\Documents and Settings\user\Belgelerim\Downloads\[Dist Raporu.xlsm]Final Data'!$H:$H;$E$1)

YUKARIDAKİ FORMÜLDE YAPILMAK İSTENEN NEDİR KISACA BANA YAZABİLİRMİSİNİZ ACABA, YARDIMLARINIZ İÇİN ŞİMDİDEN ÇOK TEŞEKKÜRLER.
 
Katılım
3 Eylül 2007
Mesajlar
6
Excel Vers. ve Dili
2002
Merhabalar;

bu yazılan formul ne anlama geliyor acaba.

!$h:$h;$e$1
 
Katılım
11 Ekim 2013
Mesajlar
11
Excel Vers. ve Dili
2013 türkçe
merhaba bir probleme acaba bir çözüm bulunur mu?
B1:C3 aralığına yazdığım değerleri A sütununa alt alta yazan ve bu aralıktaki değerlerden birinin değişmesi veya silinmesi halinde A sütunundan kaldıran ve aralıktaki diğer mevcut değerleri A sütununa boşluksuz dizen sonra B1:C3 aralığına yeni yazılan değer olursa onu da yine A sütununun en altındaki dolu hücrenin bir altındaki boşluğa yazan bir formül veya bu veriyi hem butonsuz aktaran ve anlık olarak işleyerek görüntüleyen bir macro var mıdır katkılarınız için şimdiden teşekkür ederim.
Not: normalde macro ile yapıyorum ancak hem buton ile aktarıyorum hem de aralıktan kaldırdığım veri a sütununda sabit kalıyor onu silmek zorunda kalıyorum bu yüzden butonsuz ve işlemi anlık yapan ve aktaran bir formüle veya bu veriyi hem butonsuz hemde anlık olarak işleyen bir macroya ihtiyacım var.
 
Üst