• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan zevtt
  • Başlangıç tarihi Başlangıç tarihi
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:
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:
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)
 
Ö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
 
&#214;yleyse, #2 nolu mesajda verdi&#287;im ikinci kodu kullan&#305;n&#305;z.
 
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
 
Geri
Üst