Sayfaların Yerleri Değiştirilmesin

Katılım
13 Aralık 2005
Mesajlar
53
Excel Vers. ve Dili
Office 2003 - Türkçe
Office 2007 - İngilizce
Merhaba.Excel sayfalarımın yerini değiştirdiğimde, userformumdaki comboboxtada sayfa adları değişiyor.Örneğin; excel dosyamda 10 sayfa varsa comboboxta bunlardan 2. 3. ve 4. sayfaları açıyorum.Ama sayfaları yer değiştirdiğimde comboboxtaki sayfa adlarıda değişiyor.Ben sayfa yerleri değiştirilmesin istiyorum.Yardımlarınız için şimdiden teşekkürler. :hey:
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu kodu ilgili çalışma kitabının ThisWorbook bölümüne yapıştırıp deneyiniz.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Worksheets.Count = 1 Then Exit Sub
For i = 1 To Worksheets.Count - 1
For j = i + 1 To Worksheets.Count
If Worksheets(j).Name < Worksheets(i).Name Then
Worksheets(j).Move before:=Worksheets(i)
End If
Next
Next
End Sub
 
Katılım
13 Aralık 2005
Mesajlar
53
Excel Vers. ve Dili
Office 2003 - Türkçe
Office 2007 - İngilizce
Yardımız için teşekkürler.Dediklerinizi yaptım.Ancak hala daha sayfa yerlerini değiştirebiliyorum.Bunun başka bir yolu yokmu?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ben sayfa yerleri değiştirilmesin istiyorum.Yardımlarınız için şimdiden teşekkürler.
Bunun için çalışma kitabınıza koruma koyabilirsiniz. Yada comboboxa additem ile direk sayfa adlarını yüklerseniz, yerleri değişse bile comboboxtaki veriler değişmez. Örneğin;

[vb:1:dccfb91293]combobox1.additem "sayfa2"
combobox1.additem "sayfa4"
.
.
[/vb:1:dccfb91293]
 
Katılım
13 Haziran 2006
Mesajlar
374
Excel Vers. ve Dili
Excel 2003 Türkçe
Matematik Öğretmeni VB,Excel-VBA,...
Sayın SUMIF

aşağıdaki kodları sayfalarınıza göre uyarlayarak(herbir sayfa için) çalışmanızın ThisWorkbook
bölümüne kaydedin.
Private Sub Workbook_open()

'ANAMENÜ isimli sheeti en başa taşır
Sheets("ANAMENÜ").Select
Sheets("ANAMENÜ").Move before:=Sheets(1)
'MüşteriListesi isimli sheeti en başa taşır
Sheets("MüşteriListesi").Move before:=Sheets(2)

'ÜrünBilgileri isimli sheeti 3. sıraya taşır
Sheets("ÜrünBilgileri").Move before:=Sheets(3)
End Sub
Böylece dosyanızı her açtığınızda sizin belirlediğiniz gibi sheetler sıralanmış olur.İsterseni zbunu macro olarak istediğiniz yere atabilirsiniz.Ayrıca userforma
Private Sub UserForm_Initialize()
On Error Resume Next

Dim i As Integer
For i = 4 To Worksheets.Count
combobox1.AddItem Worksheets(i).Name
Next i
urunad.SetFocus
End Sub

kodunu eklediğinizde comboboxta 4.sayfadan itibaren sayfaları görebilirsiniz
 
Katılım
13 Aralık 2005
Mesajlar
53
Excel Vers. ve Dili
Office 2003 - Türkçe
Office 2007 - İngilizce
Çok teşekkür ederim.Ellerinize sağlık.
 
Üst