Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Fonksiyonlar
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Fonksiyonlar Bir fonksiyonun, nasıl işlediğini veya aradığınız bir işleme uygun olup olmadığını bu başlık altında sorabilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 30-10-2017, 18:52   #1
altan888
Altın Üye
 
altan888 kullanıcısının avatarı
 
Giriş: 15/02/2008
Şehir: İzmir
Mesaj: 177
Excel Vers. ve Dili:
Excel 2016 TR
Varsayılan Stoklar arası satır açma

Merhabalar,
Ekteki excel tablosunda depo stok sayım listesi bulunmaktadır ve depoda bir stok farklı yerlere parça parça yerleştirilmiş olabilir, bu sebeple bir stoğun birden fazla sayım miktarı olabilir ve bu listedeki bir çok stok miktarları ardışık olarak listelenmiştir.

Benim sizden ricam; bir stok örneğin "Astar" stoğu sayım miktarları 6 satırdan oluşmaktadır, örneğin "Kumaş" stoğu sayım miktarları 3 satırdan oluşmaktadır, örneğin "Tela" stoğu sayım miktarları 9 satırdan oluşmaktadır,

Ancak benim istediğim "Astar" stoğu 6 satırlık listenin sonuna 4 satır daha boş satır ekleyerek "Astar" stoğu için toplamda 10 satırdan oluşan bir yer oluşturmak, aynı şekilde "Kumaş" stoğu 3 satırlık listenin sonuna 7 satır daha boş satır ekleyerek "Kumaş" stoğu için toplamda 10 satırdan oluşan bir yer oluşturmak , ve böylece diğer stokları da bu şekilde yapmak istiyorum, "bu yeni listeyi aynı veya başka bir sayfaya nasıl bir formülle satır ekleyerek oluşturabilirim" ve bunu "makrosuz" nasıl yaparım, yardımcı olmanızı rica ederim, yardımlar için şimdiden çok teşekkürler.
Eklenmiş Dosyalar
Dosya Türü: xlsx STOKLAR ARASI SATIR AÇMA.xlsx (12.2 KB, 11 Görüntülenme)
altan888 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-10-2017, 23:49   #2
Ziynettin
Altın Üye
 
Giriş: 17/04/2008
Şehir: istanbul
Mesaj: 388
Excel Vers. ve Dili:
office2010
Varsayılan

Merhaba;

Makrolu çözüm

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Satir_Ac()
a = Range("A3:D" & Cells(Rows.Count, 1).End(3).Row)
Set d = CreateObject("scripting.dictionary")
ReDim b(1 To UBound(a), 1 To 2)
For i = 1 To UBound(a)
    If Not d.exists(a(i, 2)) Then
        say = say + 1
        d(a(i, 2)) = say
        b(say, 1) = a(i, 2)
    End If
    b(d(a(i, 2)), 2) = b(d(a(i, 2)), 2) + 1
Next i

tbl = Array(b)
say = 0
ReDim c(1 To d.Count * 10, 1 To 4)
For x = 1 To d.Count
    For j = 1 To d.Count * 10
        sira = sira + 1
        c(j, 1) = sira
        If sira = 10 Then sira = 0
    Next j
    For i = 1 To UBound(a)
        If a(i, 2) = tbl(0)(x, 1) Then
            say = say + 1
            c(say, 2) = a(i, 2)
            c(say, 3) = a(i, 3)
            c(say, 4) = a(i, 4)
        End If
    Next i
    say = (say + 10) - Val(tbl(0)(x, 2))
Next x
Range("G3:J" & Rows.Count).ClearContents
[G3].Resize(say, 4) = c
MsgBox "İşlem tamam...", vbInformation
End Sub
Ziynettin Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-10-2017, 00:11   #3
muygun
Özel Üye
 
muygun kullanıcısının avatarı
 
Giriş: 06/07/2004
Mesaj: 6,784
Excel Vers. ve Dili:
Excel-2003 Türkçe
Varsayılan

Merhaba;
Ekteki örnekleri deneyin.
Önerim makrolu çözümleri tercih etmeniz. (görüldüğü gibi formülle çözüm makrodan daha karmaşık)
İyi çalışmalar.
Eklenmiş Dosyalar
Dosya Türü: zip altan888-STOKLAR ARASI SATIR AÇMA-formül.zip (17.2 KB, 4 Görüntülenme)
Dosya Türü: zip altan888-STOKLAR ARASI SATIR AÇMA-makro.zip (13.9 KB, 7 Görüntülenme)
__________________
Excel-2003 - Türkçe
muygun Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-10-2017, 11:14   #4
altan888
Altın Üye
 
altan888 kullanıcısının avatarı
 
Giriş: 15/02/2008
Şehir: İzmir
Mesaj: 177
Excel Vers. ve Dili:
Excel 2016 TR
Varsayılan

Alıntı:
Ziynettin tarafından gönderildi Mesajı Görüntüle
Merhaba;

Makrolu çözüm

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Satir_Ac()
a = Range("A3:D" & Cells(Rows.Count, 1).End(3).Row)
Set d = CreateObject("scripting.dictionary")
ReDim b(1 To UBound(a), 1 To 2)
For i = 1 To UBound(a)
    If Not d.exists(a(i, 2)) Then
        say = say + 1
        d(a(i, 2)) = say
        b(say, 1) = a(i, 2)
    End If
    b(d(a(i, 2)), 2) = b(d(a(i, 2)), 2) + 1
Next i

tbl = Array(b)
say = 0
ReDim c(1 To d.Count * 10, 1 To 4)
For x = 1 To d.Count
    For j = 1 To d.Count * 10
        sira = sira + 1
        c(j, 1) = sira
        If sira = 10 Then sira = 0
    Next j
    For i = 1 To UBound(a)
        If a(i, 2) = tbl(0)(x, 1) Then
            say = say + 1
            c(say, 2) = a(i, 2)
            c(say, 3) = a(i, 3)
            c(say, 4) = a(i, 4)
        End If
    Next i
    say = (say + 10) - Val(tbl(0)(x, 2))
Next x
Range("G3:J" & Rows.Count).ClearContents
[G3].Resize(say, 4) = c
MsgBox "İşlem tamam...", vbInformation
End Sub
Sayın Ziynettin,
Cevap için çok çok teşekkürler.
altan888 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-10-2017, 11:16   #5
altan888
Altın Üye
 
altan888 kullanıcısının avatarı
 
Giriş: 15/02/2008
Şehir: İzmir
Mesaj: 177
Excel Vers. ve Dili:
Excel 2016 TR
Varsayılan

Alıntı:
muygun tarafından gönderildi Mesajı Görüntüle
Merhaba;
Ekteki örnekleri deneyin.
Önerim makrolu çözümleri tercih etmeniz. (görüldüğü gibi formülle çözüm makrodan daha karmaşık)
İyi çalışmalar.
Sayın muygun,
Cevap için çok çok teşekkürler. formüllerinizi hafta sonu daha geniş bir zamanda inceleyip çözmek istiyorum, elinize sağlık, iyi çalışmalar dilerim.
altan888 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 10:43


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden