• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Alt alta kesilen satıları verilen sayıya göre toplamak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Safih00

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
6 May 2022
Mesajlar
9
Aldığı beğeni
0
Excel V
Office 2013 TR
Konuyu Başlatan
Herkese merhaba.

Projemde 1 takıldığım yer bir de sorum var.

Takıldığım kısma anlatıyorum.

3 farklı sütunum var Montaj / Tabaka / Bölen

Userformda textbox1'e yazdığım sayıları virgül ile kesip alt alta yazıyor.

3. satırda Bölen diye bir sütunum var asıl mevzu burda başlıyor.

Ben oraya kaç yazarsam örneğin 24 - 30 - 18 bu değişebilir.

2. Sütundaki 24'ü topladığında diğer toplam başlangıcına yazıcak

1730723702975.png
ben boşluk koydum aynı sayı da yazabilir 550-550-550 / 650-650 / 550 gibi.

Sorum ise alttaki görselin daha pratik bir yolu var mı

1730723834610.png
 

Ekli dosyalar

  • Kitap1.xlsm
    16.3 KB · Gösterim: 8
Gerçi çalışmalarını beğendiğim, başka bir sitedeki bir arkadaşın, mottosu vardı "Kot anlatılmaz, yazılır." diye ama deneyeyim.
PHP:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
Gerçi çalışmalarını beğendiğim, başka bir sitedeki bir arkadaşın, mottosu vardı "Kot anlatılmaz, yazılır." diye ama deneyeyim.
Private Sub CommandButton1_Click()
Range("C2").Value = TextBox3.Value
montaj = Split(TextBox1.Value, ",")
tabaka = Split(TextBox2.Value, ",")
tbk = 0 'tabaka i döngüsüne girmeyeceği için başlangıç belirleniyor.
For i = 0 To UBound(montaj) 'montajın kaç eleman olduğu belirlenip, döngü kuruluyor. Split ile belirlenen dizinin elemanı 0 dan başlar.
Range("A" & i + 2).Value = montaj(i)
Range("B" & i + 2).Value = tabaka(tbk)
bak = bak + montaj(i) * 1 'montajdaki elemanlar toplanıyor, textboxlardaki değer metin olduğu için 1 ile çarpılıp sayıya dönüştürülüyor.
If bak = Range("C2").Value * 1 Then 'Montajların toplam, bölüme eşit olmadığı test ediliyor.
tbk = tbk + 1 'Eğer eşit ise tabakanın bir sonraki değeri için başlangıç değerine 1 ekleniyor.
bak = 0 ' Toplam, bölüme eşit olunca ikinci grup için sıfırlanıyor
End If
Next
End Sub

Tekrar çok teşekkür ederim Ali bey
Ben de yavaş yavaş birşeyler öğrenip çalıştığım sektördeki işlere uyguluyorum :)
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst