• DİKKAT

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

Bütün Satır değil Belirlenen Hücreler Diğer Sayfaya Gitsin

Katılım
25 Haziran 2006
Mesajlar
183
Excel Vers. ve Dili
Excel 2003 TR SP2
Arkadaşların yardımıyla her şey tamam ama BİLGİLERİ AKTAR tuşuna tıkladığımda bütün satır diğer sayfaya aktarılıyor(Satır Siliniyor). Bense satırdaki sadece belirlenen hücrelerdeki bilgilerin diğer sayafaya aktarılmasını istiyorum.
Örnek doya ektedir yardımcı olursanız sevinirim.

C4 C4 e
D4 D4 e
E4 E4 e
F4 F4 e
G4 G4 e gitmesini istiyorum. Satırdaki diğer hücrelerden bilgi gitmemesi lazım. Satır silinmez o zaman.
 
Aşağıdaki gibi deneyebilirsiniz.
Kod:
Public Sub Bilgi_Aktar_Sil()
Application.ScreenUpdating = False
Sheets("data").[C4:G4].Copy
Sheets("mazi").[c6500].End(3).Offset(1).PasteSpecial Paste:=3
Application.CutCopyMode = False
End Sub
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Public Sub Bilgi_Aktar_Sil()
    Set S1 = Sheets("data")
    Set S2 = Sheets("mazi")
    S1.Select
    On Error Resume Next
    Set BUL = [D:D].Find([I2], LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    SATIR = BUL.Row
    SON_SATIR = S2.[D65536].End(3).Row + 1
    S2.Cells(SON_SATIR, "C") = Cells(SATIR, "C")
    S2.Cells(SON_SATIR, "D") = Cells(SATIR, "D")
    S2.Cells(SON_SATIR, "E") = Cells(SATIR, "E")
    S2.Cells(SON_SATIR, "F") = Cells(SATIR, "F")
    S2.Cells(SON_SATIR, "G") = Cells(SATIR, "G")
    MsgBox "BİLGİLER AKTARILMIŞTIR.", vbInformation
    Else
    MsgBox "ARANAN KAYIT BULUNAMAMIŞTIR !", vbExclamation, "DİKKAT !"
    End If
    Set BUL = Nothing
    Set S1 = Nothing
    Set S2 = Nothing
End Sub
 
Sn. Seyit Tiken ve Sn. COST_CONTROL burda o hücrelerden silip diğer sayfaya aktarması gerekiyor sizlerin verdiği kodda sadece kopyalıyor diğer sayfaya yazdırıyor :( hücrelerden silip aktarması lazım.
İkinize de teşekkür ederim ama silip aktarması lazım
verdiğim dosyada bütün satırı silip aktarıyordu ben hücreleriden silip diğer sayfaya aktarmasını istiyorum.
Saygılar....
 
Aşağıdaki kodu, yukarıda verilen kodun altına yazıp deneyiniz.
Kod:
Sheets("data").[C4:G4] = vbNullString
 
runtime 1004 hatası verdi olmadı :(
Public Sub Bilgi_Aktar_Sil()
Application.ScreenUpdating = False
Sheets("data").[C4:G4] = vbNullString
Sheets("mazi").[c6500].End(3).Offset(1).PasteSpecial Paste:=3
Application.CutCopyMode = False
End Sub

PasteSpecial bu hatada var run time 1004 hata sayfasın da
 
hocamın demek istediği galiba aşağıdaki gibi;
Kod:
Public Sub Bilgi_Aktar_Sil()
Application.ScreenUpdating = False    'işlemler ekranda gözükmesin
Sheets("data").[C4:G4].Copy        'kopyala
Sheets("mazi").[c6500].End(3).Offset(1).PasteSpecial Paste:=3   'yapıştır
Application.CutCopyMode = False   'kopya modunu kapat
[color="red"]Sheets("data").[C4:G4] = vbNullString[/color]   'içini boşalt
End Sub
 
ekli doyayı incelerseniz
kişinin ismi I2 hücresine yazıyor BİLGİLERİ AKTAR a tıkladığımda I2 de kimin ismi yazıyorsa o kişinin bilgileri DATA dan silinip MAZİ sayfasına aktarılıyor.
Burda sorun şu silinme işleminde tüm satır siliniyor ama benim istediğim sadece C D E F G satırındaki bilgiler mazi sayfasına C D E F G hücrelerdeki boş yerlere yazılsın. Kısacası tüm satırdaki bilgiler değil seçtğimiz hücredekiler diğer sayfaya silinip geçsin.
Öğrneği incelerseniz sevinirim.
Saygılar...
 
Rows(Bul).Delete satırını silip
s1.Range("C" & Bul & ":G" & Bul).Select
Selection.Delete Shift:=xlUp
Ekleyip denermisiniz?
 
Olmadı bir türlü
Elimdeki kod (BİLGİ AKTAR tuşundaki)

Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D3:D65536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
Rows(Bul).Delete
End Sub

Bu kodda I2 hücresinde yazılan ismi data sayfasında buluyor data sayfasından silip mazi sayfasında istenilen hücrelere yazıyor. Buraya kadar normal ancak bulduğu ismin bütün satırını siliyor. Bütün mesele bu ben sadece bilgilerin olduğu hücrelerden bilgileri silip diğer sayfaya daki hücrelere aktarmasını istiyorum. Bilgilerin olduğu ve yazılacak hücre isimleri kodda mevcut.

Sizlerin verdiği kodlarda sadece kopyala ve yapıştır işlevi görüyor kodlarda. Dosyayı tekrar yolluyorum Belirlenen hücredeki ismi bulup bu isme ait bilgiler renkli kısımlardan alınıp (silinerek) diğer sayfadaki renkli yerlere yazılacak. Renkli kısımların haricinde diğer hücrelerden bilgi aktarılmayacak.
Burda önemli olan bilgilerin silinip aktarılması.

Cevap veren bütün paylaşımcı arkadaşlara tşk ederim.
SAYGILAR.....
 
Yukarıda yazdığımı denediniz mi??
Benim yazdığım silmekle kalmaz, satırları yukarı da kaydırır.
Kod:
Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D365536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
s1.Range("C" & Bul & ":G" & Bul).Select
Selection.Delete Shift:=xlUp
End Sub
Sadece içeriğini silmek istiyorsanız;
Kod:
Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D365536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
Cells(Bul, "C")=""
Cells(Bul, "D")=""
Cells(Bul, "E")=""
Cells(Bul, "F")=""
Cells(Bul, "G")=""
End Sub
Eğer hata veriyorsa nasıl bir hata veriyor?
 
Olmadı bir türlü
Elimdeki kod (BİLGİ AKTAR tuşundaki)

Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D3:D65536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
Rows(Bul).Delete
End Sub

Bu kodda I2 hücresinde yazılan ismi data sayfasında buluyor data sayfasından silip mazi sayfasında istenilen hücrelere yazıyor. Buraya kadar normal ancak bulduğu ismin bütün satırını siliyor. Bütün mesele bu ben sadece bilgilerin olduğu hücrelerden bilgileri silip diğer sayfaya daki hücrelere aktarmasını istiyorum. Bilgilerin olduğu ve yazılacak hücre isimleri kodda mevcut.

Sizlerin verdiği kodlarda sadece kopyala ve yapıştır işlevi görüyor kodlarda. Dosyayı tekrar yolluyorum Belirlenen hücredeki ismi bulup bu isme ait bilgiler renkli kısımlardan alınıp (silinerek) diğer sayfadaki renkli yerlere yazılacak. Renkli kısımların haricinde diğer hücrelerden bilgi aktarılmayacak.
Burda önemli olan bilgilerin silinip aktarılması.

Cevap veren bütün paylaşımcı arkadaşlara tşk ederim.
SAYGILAR.....

Sn. Ceyrek verdiğiniz kodlarla hiç bir işlem yapmadı malesef :(
Dosyayı indirin orda kodları düzeltseniz. Karışık bir dosya değil.
 
Efendim

Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D365536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
Rows(Bul).Delete
End Sub

bu kod çalışıyor ama bulduğu ismin tüm satırını silip satırı yukarı kaydırıyor işte bu bütün satırın silinip yukarı kaymaması lazım
sadece koddaki sütun isimlerinde hücrelerden bilgileri alıp silerek diğer sayfaya yapıştırması gerekiyor.
Örnek dosyayı incelerseniz ne demek istediğimi anlarsınız.
Tşk ler...
 
Tam 4 defa aynı şeyi yazmışsınız, ilave hiçbir açıklama yok, neyin çalışmadığını veya nerede hata verdiğini veya istediğinizin dışında mı bişey yaptığını hala anlamadım.
Kod:
Public Sub Bilgi_Aktar_Sil()
Set s1 = Sheets("data")
Set s2 = Sheets("mazi")
s1.Select
On Error Resume Next
Bul = 0
Bul = Range("D365536").Find([I2]).Row
If Bul = 0 Then Exit Sub
SonSat = s2.[D65536].End(3).Row + 1
s2.Cells(SonSat, "C") = Cells(Bul, "C")
s2.Cells(SonSat, "D") = Cells(Bul, "D")
s2.Cells(SonSat, "E") = Cells(Bul, "E")
s2.Cells(SonSat, "F") = Cells(Bul, "F")
s2.Cells(SonSat, "G") = Cells(Bul, "G")
Cells(Bul, "C")=""
Cells(Bul, "D")=""
Cells(Bul, "E")=""
Cells(Bul, "F")=""
Cells(Bul, "G")=""
End Sub
Bende çalışıyor, dosyanız da ekte. Eğer bu dosya çalışmazsa daha yapabileceğim bişey yok.
 
Sayın ceyrek cevabı vermiş.:cool:
 
Hata bendeymiş zip li dosyanın içinde güncelleyip sonuca ulaşmak istiyormuşum özür dilerim.
Sn ceyrek çok tşk ederim. yardımcı olan herkese tşk ederim.
 
Geri
Üst