Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 01-03-2011, 21:28   #1
s.savas
Altın Üye
 
s.savas kullanıcısının avatarı
 
Giriş: 11/01/2009
Mesaj: 539
Excel Vers. ve Dili:
2003
Varsayılan Kitabın tamamında sort yapmak? (Sıralamak)

Merhaba arkadaşlar.
Aşağıdaki kodu kitabın tamamında sorty yapabilmesi için nasıl düzenleriz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Range("B6:AR65536").Select
Selection.Sort Key1:=Range("B6"), Order1:=xlAscending, Key2:=Range("C6" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
s.savas Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-03-2011, 21:40   #2
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,814
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Sayfaları döngüye alarak bu işlemi yapabilirsiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
 
Sub TÜM_SAYFALARDA_SIRALAMA()
    Dim SAYFA As Worksheet
 
    For Each SAYFA In ThisWorkbook.Worksheets
        SAYFA.Range("B6:AR65536").Sort Key1:=SAYFA.Range("B6"), Order1:=xlAscending, _
        Key2:=SAYFA.Range("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimiçi   Alıntı Yaparak Cevapla
Eski 01-03-2011, 22:03   #3
s.savas
Altın Üye
 
s.savas kullanıcısının avatarı
 
Giriş: 11/01/2009
Mesaj: 539
Excel Vers. ve Dili:
2003
Varsayılan

Alıntı:
Korhan Ayhan tarafından gönderildi Mesajı Görüntüle
Selamlar,

Sayfaları döngüye alarak bu işlemi yapabilirsiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
 
Sub TÜM_SAYFALARDA_SIRALAMA()
    Dim SAYFA As Worksheet
 
    For Each SAYFA In ThisWorkbook.Worksheets
        SAAYFA.Range("B6:AR65536").Sort Key1:=SAYFA.Range("B6"), Order1:=xlAscending, _
        Key2:=SAYFA.Range("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Korhan hocam ilginize çok teşekkür ederim. Yazdığınız kodu aşağıdaki gibi kullanmak istediğim koda ekledim ancak sıralama yapmadı. Nerede hata yapıyorum anlamadım.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub cmdYENİKAYIT_Click()

For Each bak In Range("B1:B" & WorksheetFunction.CountA(Range("B1:B65000")))
If bak.Value = TextBox2.Value Then
MsgBox "Bu Kayıt numarası bulundu."
Exit Sub
End If

If TextBox2.Text = "" Then
MsgBox "Lütfen önce Malzemenin / İlacın Adını Giriniz...", , "Kayıt Hatası!!!"
Exit Sub
End If

If TextBox6.Text = "" Then
MsgBox "Lütfen Kritik Seviye Bilgisini Giriniz...", , "Kayıt Hatası!!!"
Exit Sub
End If

Next bak
For Each bak In Range("C1:C" & WorksheetFunction.CountA(Range("C1:C65000")))
If StrConv(bak.Value, vbUpperCase) = StrConv(TextBox2.Value, vbUpperCase) Then
MsgBox "" & TextBox2.Value & "Bu isminde bir kaydınız zaten mevcut, aynı malzemeden mükerrer kayıt yapamazsınız!"
Exit Sub
End If

Next bak
n = Cells(65536, 3).End(xlUp).Row - 4
Label9 = n

For i = 1 To Worksheets.Count
    With Sheets(i)
        satır = .Cells(Rows.Count, "C").End(xlUp).Row + 1
        .Cells(satır, "B").Value = Label9 * 1
        .Cells(satır, "B").HorizontalAlignment = xlCenter
        .Cells(satır, "C").Value = TextBox2.Value
        .Cells(satır, "D").Value = TextBox8.Value
        '.Cells(satır, "E").Value = TextBox5.Value
        .Cells(satır, "AP").Value = TextBox6.Value
.Cells(satır, "A").Value = "=IF(RC[3]="""",0,RC[3]-R2C3)"
.Cells(satır, "AO").Value = "=SUM(RC[-5]:RC[-2])"
.Cells(satır, "AQ").Value = "=IF(AND(RC[-39]<=0),""Yok"",IF(AND(RC[-39]<RC[-1]),""Kritik"",IF(AND(RC[-39]>=RC[-1]),""Mevcut"")))"


End With
Next i


MsgBox "" & TextBox2.Value & " Malzemesine Ait Yeni Kayıt Başarıyla Yapılmıştır. İyi Çalışmalar Dilerim", vbInformation, "Sn.  " & Application.UserName
Label9 = WorksheetFunction.Count(Range("b1:b65500")) + 1

Dim SAYFA As Worksheet
For Each SAYFA In ThisWorkbook.Worksheets
SAYFA.Range("B6:AR65536").Sort Key1:=SAYFA.Range("B6"), Order1:=xlAscending, _
Key2:=SAYFA.Range("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
Next


cmdTEMİZLE_Click
ComboBox2_Change
TextBox2.SetFocus
Unload UserForm1
UserForm1.Show
End Sub
s.savas Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-03-2011, 20:20   #4
s.savas
Altın Üye
 
s.savas kullanıcısının avatarı
 
Giriş: 11/01/2009
Mesaj: 539
Excel Vers. ve Dili:
2003
Varsayılan

Arkadaşlar kodu aşağıdaki gibi bir modüle ekleyip çalıştırdım. Tüm sayfalarda sıralama yapıyor fakat bir eksiği var, tüm sayfalarda B sütununda 6.satırdan itibaren 1 den başlayıp numaralandırması gerekiyor.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit

Sub TÜM_SAYFALARDA_SIRALAMA()
    Dim SAYFA As Worksheet
 
    For Each SAYFA In ThisWorkbook.Worksheets
        SAYFA.Range("B6:AR65536").Sort Key1:=SAYFA.Range("B6"), Order1:=xlAscending, _
        Key2:=SAYFA.Range("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
    Next
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Tek sayfa için aşağıdaki kod B6 dan itibaren numara veriyor ancak kodu tüm sayfalara numara vermesi için düzenleyemedim.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
For i = 1 To say
Cells(i + 5, 2) = i
Next i
s.savas Çevrimdışı   Alıntı Yaparak Cevapla
Eski 02-03-2011, 21:50   #5
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,814
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Aşağıdaki kodu denermisiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
 
Sub TÜM_SAYFALARDA_SIRALAMA()
    Dim SAYFA As Worksheet, Satır As Long
 
    For Each SAYFA In ThisWorkbook.Worksheets
        SAYFA.Range("B6:AR65536").Sort Key1:=SAYFA.Range("B6"), Order1:=xlAscending, _
        Key2:=SAYFA.Range("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
 
        Satır = SAYFA.Range("B65536").End(3).Row
        If Satır = 6 Then
            SAYFA.Cells(6, 2) = 1
        ElseIf Satır > 6 Then
            SAYFA.Cells(6, 2) = 1
            SAYFA.Range("B6:B" & Satır).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1
        End If
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimiçi   Alıntı Yaparak Cevapla
Eski 03-03-2011, 01:45   #6
s.savas
Altın Üye
 
s.savas kullanıcısının avatarı
 
Giriş: 11/01/2009
Mesaj: 539
Excel Vers. ve Dili:
2003
Varsayılan

Korhan hocam çok teşekkürler. Yazdığınız makro harika iş yapıyor.
s.savas Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 00:08


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil ve Konuşma Terapisti- Çorlu Dil ve Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden