- Katılım
- 18 Ağustos 2006
- Mesajlar
- 154
- Excel Vers. ve Dili
- Mr Step Back
Sevgili arkadaşlar, ekteki örnek çalışmamda 12 adet sütuna göre sıralama yapmam lazım, bu konuda yardımcı olabilir misiniz?
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Yani, işlem bittikten sonra sıralama şu şekilde mi olacak?ilk olarak
(1) 1. departman, 1.kısımdan başlamak üzere
(2) giriş tutarları giriş sırasına göre alt alta,
(3) onun altına
(4) 1.departman 1.kısım çıkış tutarları sıra numarasına göre alt alta
gelmeli;
Sub Sutunda_Sirala()
Dim arrG()
Dim arrC()
Dim x%, y%, i%, j%
For j = 4 To 21 Step 3
For i = 8 To 37
If Trim(Cells(i, j)) <> Empty Then
y = y + 1
ReDim Preserve arrG(1 To 2, 1 To y)
arrG(1, y) = Cells(i, 3)
arrG(2, y) = Cells(i, j)
Cells(i, j) = Empty
End If
If Trim(Cells(i, j + 1)) <> Empty Then
x = x + 1
ReDim Preserve arrC(1 To 2, 1 To x)
arrC(1, x) = Cells(i, 3)
arrC(2, x) = Cells(i, j + 1)
Cells(i, j + 1) = Empty
End If
Next i
Next j
Range("c8:c37").ClearContents
i = 8: y = 0
For j = 4 To 21 Step 3
y = y + 1
Cells(i, j) = arrG(2, y)
Cells(i, 3) = arrG(1, y)
Cells(i, j).Offset(1, 1) = arrC(2, y)
Cells(i, 3).Offset(1, 0) = arrC(1, y)
i = i + 2
Next j
End Sub
Sub Sutunda_Sirala()
Dim arrG()
Dim arrC()
Dim x%, y%, i%, j%, z%
For j = 4 To 21 Step 3
For i = 8 To 37
If Trim(Cells(i, j)) <> Empty Then
y = y + 1
ReDim Preserve arrG(1 To 4, 1 To y)
arrG(1, y) = Cells(i, 3)
arrG(2, y) = Cells(i, j)
arrG(3, y) = j
arrG(4, y) = Cells(i, 2)
Cells(i, j) = Empty
End If
If Trim(Cells(i, j + 1)) <> Empty Then
x = x + 1
ReDim Preserve arrC(1 To 4, 1 To x)
arrC(1, x) = Cells(i, 3)
arrC(2, x) = Cells(i, j + 1)
arrC(3, x) = j + 1
arrC(4, x) = Cells(i, 2)
Cells(i, j + 1) = Empty
End If
Next i
Next j
Range("b8:c37").ClearContents
z = 8
For j = 4 To 21 Step 3
For i = 1 To y
If arrG(3, i) = j Then
Cells(z, arrG(3, i)) = arrG(2, i)
Cells(z, 3) = arrG(1, i)
Cells(z, 2) = arrG(4, i)
arrG(2, i) = ""
z = z + 1
End If
Next i
For i = 1 To x
If arrC(3, i) = j + 1 Then
Cells(z, arrC(3, i)) = arrC(2, i)
Cells(z, 3) = arrC(1, i)
Cells(z, 2) = arrC(4, i)
arrC(2, i) = ""
z = z + 1
End If
Next i
Next j
End Sub