Sütundaki veriler kadar işlem yaptırmak ??

Katılım
9 Ekim 2007
Mesajlar
3
Excel Vers. ve Dili
2003 tr
Arkadaşlar aranıza yeni katıldım az çok excel kullanırım benim bir makroya ihtiyacım var döngüleri bir türlü kavrayamadım

A sütunundaki sayısal değerleri okuyarak 0 hariç 50 ye kadar olan sayılar için B sütununa 1 yada 50 den büyükse 100 e kadar 2 100 den büyükse 3 bu şekilde 10000 e kadar gidebilir eğer 0 varsa 0 yazsın nasıl bir yol izlemem gerekiyor yada örnekle açıklarmısınız ?

A ------- B
------ ------ <<<<<< gibi olabilir
50 ------- 1
0 ------- 0
150 ------- 3
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Eğer sayılar 50 ve 50'nin katları şeklindeyse aşağıdaki hemen işini görür. Ama 51, 52, 101, 102'ler varsa sapar.

Kod:
Sub Hesapla()
Dim sh As Worksheet
Dim i As Long
Dim son As Long
Set sh = Sheets("Sayfa1")
son = sh.Cells(65536, 1).End(xlUp).Row
For i = 1 To son
If sh.Cells(i, 1) = 0 Then
   sh.Cells(i, 2) = 0
Else
   sh.Cells(i, 2) = Int((sh.Cells(i, 1) / 50))
End If
Next i
End Sub
Tamsayıları dediğiniz gibi gruplandırmak için ise aşağıdakini de kullanabilirsiniz.
Kod:
Sub Hesapla()
Dim sh As Worksheet
Dim i As Long
Dim son As Long
Set sh = Sheets("Sayfa1")
son = sh.Cells(65536, 1).End(xlUp).Row
For i = 1 To son
    If sh.Cells(i, 1) = 0 Then
       sh.Cells(i, 2) = 0
    Else
       If (sh.Cells(i, 1) Mod 50) = 0 Then
          sh.Cells(i, 2) = sh.Cells(i, 1) / 50
       Else
          sh.Cells(i, 2) = Int((sh.Cells(i, 1) / 50)) + 1
       End If
    End If
Next i
End Sub
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif:

&#304;ngilizce versiyon i&#231;in, B1 h&#252;cresine &#351;u formul&#252; yaz&#305;p, a&#351;a&#287;&#305;ya do&#287;ru s&#252;r&#252;kleyin;

=TRUNC(A1/50)

T&#252;rk&#231;e versiyonda, &#351;u formul&#252; kullan&#305;n;

=nsat(A1/50)
 
Katılım
9 Ekim 2007
Mesajlar
3
Excel Vers. ve Dili
2003 tr
Öncelikle ilginize teşekkürler dediğiniz gibi 50 nin katları şeklinde olduğunda iş görüyor fakar 0 dan 500 e kadar her türlü sayı var 365 263 gibi o yüzden kodu buna göre 50 yerine 0 to 500 şeklinde değiştirmeyi düşündüm ancak hata verdi
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
&#214;yleyse, #2 nolu mesajda verdi&#287;im ikinci kodu kullan&#305;n&#305;z.
 
Katılım
9 Ekim 2007
Mesajlar
3
Excel Vers. ve Dili
2003 tr
fpc &#231;ok te&#351;ekk&#252;rler ikinci kod i&#351;imi g&#246;rd&#252; iyi &#231;al&#305;&#351;malar rahats&#305;zl&#305;k verdi&#287;im i&#231;in &#246;z&#252;r dilerim
 
Üst