• DİKKAT

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

istenilen seçili alanı kopyalayıp yapıştırmak

Katılım
31 Temmuz 2017
Mesajlar
63
Excel Vers. ve Dili
office 2013
Merhaba,

Excel içerisinde ürün özelliklerini gösteren 23-24 satırlık bölümü (Örnek excel'de (sheet2) sarı alan olarak işaretli), listede seçilen ürün veya ürünleri (sheet1) diğer bir sayfaya(sheet3) aktarılmasını sağlayarak bir yol arıyorum.

Örnek excel üzerinde detaylı şekilde anlatmaya çalıştım. Kısaca; Sheet 1 'de seçili olan ürünlerin, ilişiği olan Sheet 2'de ki ürün özellikleri satırlarını kopyalanıp, Sheet 3'de ki Teklif bölümüne yapıştırılmasını rica ediyorum.

Örnek üzerinde 4 tane ürün yazabildim. Bu bahsettiğim ürün grubu 300 kalem ürünü geçmektedir. Yardımcı olmanız durumunda sizden gelen bilgiler sayesinde geri kalan ürünleri sizin de vaktinizi almamak ve size yardımcı olmak için elimden geleni yapmaya hazırım.

Konuyla ilgili çalışma örnek excel 'i ektedir.

Yardımlarınız için şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Ekteki dosyayı inceleyiniz.

Kodun düzgün çalışması için dosyanızda bir-iki değişiklik yaptım. Sizde aynı şekilde kullanmalısınız. Aksi halde kod sağlıklı sonuç vermez.

Kullanılan kod;

Kod:
Sub TEKLİF_HAZIRLA()
    Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet
    Dim Son As Long, Satır As Long, X As Long, Bul As Range
    
    Application.ScreenUpdating = False
    
    Set S1 = Sheets("Liste")
    Set S2 = Sheets("ÜrünÖzellikleri")
    Set S3 = Sheets("teklif")
    
    S3.Range("A16:J" & Rows.Count).Delete xlUp
    
    Son = S1.Cells(Rows.Count, 3).End(3).Row
    Satır = 16
    
    For X = 2 To Son
        If S1.Cells(X, 4) = "X" Then
            S3.Cells(Satır, 1) = S1.Cells(X, 3)
            Set Bul = S2.Cells.Find(S1.Cells(X, 3), , , xlWhole)
            If Not Bul Is Nothing Then
                S2.Range("A" & Bul.Row + 2 & ":G" & Bul.Row + 23).Copy S3.Cells(Satır + 1, 1)
                S3.Cells(Satır + 1, 1) = S1.Cells(X, 2)
                S3.Cells(Satır + 1, 1).NumberFormat = S1.Cells(X, 2).NumberFormat
            End If
            
            Satır = S3.Cells(Rows.Count, 1).End(3).Row + 2
        End If
        Set Bul = Nothing
    Next
    
    S3.Select
    
    Set S1 = Nothing
    Set S2 = Nothing
    Set S3 = Nothing
        
    Application.ScreenUpdating = True
    
    MsgBox "Teklif listeniz hazırlanmıştır.", vbInformation
End Sub
 

Ekli dosyalar

Merhaba;
Korhan Bey soruyu çözümlemiş ama hazırladığım ek alternatif olsun.
İyi çalışmalar.
 

Ekli dosyalar

Çok teşekkür ederim ellerinize sağlık tam anlatmak istediğim gibi olmuş

@muygun, ufak bir istekte daha bulmak istiyorum eğer sizi çok yormayacaksam, X ile işaretlenen yerleri ufak bir onay kutusu ile işaretlenecek şekilde düzenleyebilir miyiz?

@Kayhan bey, değişiklik yaptım dediğiniz 1-2 şey nedir tam olarak? 250 satırlık bir ürün grubunu düzenliyor olucam da dikkat etmem gereken bir yer varsa bilmek istedim çok teşekkürler tekrardan

Olası bir hata/sorun ile karşılaşırsam tekrardan vaktinizi alabilirim.
Çok teşekkürler tekrardan iyi akşamlar.
 
Ürün isimlerini her iki sayfada da aynı yaptım.

Birde "ürünlistesi" sayfasındaki ürün detaylarındaki satır dizilimini aynı olacak şekilde düzenledim. İlk üründe mesela arada bir boş satır vardı. Bu da kodun hatalı sonuç vermesine sebep oluyordu.

Sizde kendi dosyanızı aynı şekilde düzenlerseniz olumlu sonuç alırsınız.
 
Merhaba;
D2 : D65536 aralığında çift tıklayın.
İyi çalışmalar.

Merhabalar,
Öncelikle emeğiniz için çok teşekkür ederim.

Göndermiş olduğunuz excel istediğim gibi çok güzel işliyor elinize sağlık. Eğer mümkünse sizden ricam ufak bir ekleme yapmak istiyorum.
@muygun bey, tarafınızdan gönderilen son excel içerisinde "s2" alanında bulunan (ürün özellikleri sayfası) ürünlerin bazıları s4, s5, s6, s7, s8, s9, s10 sayfaları içerisinde bulunacak şekilde, kopyalanabilir durumda ayarlayabilir miyiz?

Başka bir deyiş ile söylemem gerekirse;
sheet1 içerisinde (Liste) tüm ürünlerin isimlerinin hepsini yazdım fakat X ile işaretli olup kopyalanacak olan ürünlerin ayrı sayfalarda gruplandırılması gerekiyor.
Yani bazı ürünler ürünözellikleri (sheet2) sayfasında bulunuyorken bazı ürünler sheet4, sheet5, sheet6, sheet7, sheet8, sheet9, sheet10 (ekte bulunan ürünler adı altında ki sayfalar) sayfalarında da yer alacak şekilde düzenleyebilir miyiz?

dosya ektedir.
 

Ekli dosyalar

Son düzenleme:
Merhaba;
7 gün sonra geri dönülen bir dosyanın gerekliliği pek inandırıcı olmuyor.
(Sanırım bundan sonra buna dikkat edersiniz.)

Kullanıcının;
Hangi sayfalarda ürün bilgilerinin olabileceği (bu sayfaların çoğalma ihtimali),
başlangıç ve bitişlerde düzenleme hatası yapabileceği...
gibi olası değişkenlerden dolayı makro kodlarında değişiklik yaptım.

Ekli dosyada Liste sayfası A sütununa veri alınacak sayfa isimlerini yazın.
Ürünler sayfalarında her ürün için ürün adını başlangıç ve bitiş alanına yazın. (Ürünler1 sayfasında A2 ve A26 hücreleri gibi)
Ürünler sayfalarında her ürün için ürün başlangıç adını yazdığınız hücre zemin rengi Liste sayfası K1 hücre rengi ile aynı olmalı. (Ürünler1 sayfasında A2 hücre zemin rengi gibi)
Ürünler sayfalarında her ürün için ürün bitiş adını yazdığınız hücre zemin rengi Liste sayfası L1 hücre rengi ile aynı olmalı
Bunlara dikkat ederseniz dosya sorunsuz işlem yapacaktir.

İyi çalışmalar.
 

Ekli dosyalar

Excelde tekrar eden verilerimden en çok olanı başka bir hücreye yazdırmak istiyorum. Bunu nasıl yapabilirim?
ayse ayse ayse ayse fatma fatma veli ayse ayse yan hücrede yazacagım formulle en çok tekrarlananın ayse oldugunu yazdırmak istiyorum. Nasıl yapabilirim? Yardımcı olur musunuz?
 
Excelde tekrar eden verilerimden en çok olanı başka bir hücreye yazdırmak istiyorum. Bunu nasıl yapabilirim?
ayse ayse ayse ayse fatma fatma veli ayse ayse yan hücrede yazacagım formulle en çok tekrarlananın ayse oldugunu yazdırmak istiyorum. Nasıl yapabilirim? Yardımcı olur musunuz?

Merhaba;
sorunun bu konu ile ilgisi olmadığı için yeni bir başlık açın.
Bir örnek dosya oluşturarak

http://s3.dosya.tc/

adresine yükleyin ve link adresini yeni açtığınız konu alanında paylaşın.
İyi çalışmalar.
 
Son düzenleme:
Geri
Üst