- Katılım
- 31 Aralık 2009
- Mesajlar
- 1,105
- Excel Vers. ve Dili
- excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Sirali_yaz_59()
Dim i As Byte, k As Byte, sat As Byte, sut As Byte
Sheets("Sayfa2").Select
Range("A12:K16").ClearContents
sat = 12
For i = 2 To 6
sut = 1
For k = 1 To 11
If Cells(i, k).Value <> "" Then
Cells(sat, sut).Value = Cells(i, k).Value
sut = sut + 1
End If
Next
sat = sat + 1
Next i
MsgBox "İşlem tamamlandı" & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
Bişey değil.enver bey
tşk ederim
Göstermiyor.evren bey
yine mükemmel çözüm , çok sağolasın
bir sorum daha olabilir mi?
tablo 3 deki hücrelere veri girişi yaparken , veri doğrulama listesi açılınca kaydırma çubuğu neden alt seviyelerde bir yeri gösteriyor olabilir? Listeyi yukarıdan aşağıyı gösterecek şekilde açılması sağlamanın bir yolu var mı?
O şekilde olmadı.Siz yazdığınız gibi kullanın,yada istediklerinizi formülle birer sütuna yazın o sütundan tek bir aralık olarak alın.evren bey
tablonun başına bir boş sütun ekleyerek yaptım
=$A12:$M12 ( a12 boş hüce yaptım)
veri doğrulama listesi düzgün çalışıyor
veri doğrulama listesini =($A$24;$A12:$K12) ile çözebilseydik daha güzel olacaktı (a24 boş hücre)
bunu yapmak mümkün mü?
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [c895:r925]) Is Nothing Then Exit Sub
On Error Resume Next
'Sirali_yaz_59
Dim i As Byte, k As Byte, sat As Byte, sut As Byte
Sheets("Sayfa1").Select
Range("c841:ad871").ClearContents
sat = 841
For i = 802 To 832
sut = 3
For k = 3 To 31
If Cells(i, k).Value <> "" Then
Cells(sat, sut).Value = Cells(i, k).Value
sut = sut + 1
End If
Next
sat = sat + 1
Next i
'MsgBox "İşlem tamamlandı" & vbLf & _
'"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End Sub
__________________Ben kodu örnek dosyanıza göre düzenlemiştim. Eğer siz daha fazla sayıda sütunda bu işlemi yapacağınızı belirtseydiniz kodu ona göre düzenlerdim.
Hata almanızın nedeni değişken tanımlamasındandır. BYTE değşkeni 0-255 arası değeri destekler. Siz 277 yazdığınız için üst sınırı aşmışsınız. Bu durumda kodu aşağıdaki şekilde değştirip kullanabilirsiniz.
Kod:
Option Explicit
Sub SIRALA()
Dim X As Integer
For X = 2 To 277
Range(Cells(2, X), Cells(65536, X)).Sort Key1:=Cells(2, X), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Next
End Sub