• DİKKAT

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

multipagede textbox kullanımı

Katılım
7 Nisan 2008
Mesajlar
37
Excel Vers. ve Dili
2000sb-2003sb-xp standart
multipage sayfasında textbox dosyalarına giriş

arkadaşlar benim bir problemim var 1 sayfalık bir excel sayfam ve satır sayısı yaklasık olarak 70 satır

yapmış olduğum vei girişi için textbox dosyaları sıgmadıgı ve daha duzenli görünmesi için multipage sayfasında textbox lar yaptım
ilk multipage sayfasında 10 giriş satarı 2.de 11-20 arası 3 de 31-40 arası şeklinde sürekli aynı sayfada giriş yapmasını saglamaya calısıyorum. ilk sayfada verileri gösteriyorum ve yazıyorum fakat 2 . sayfaya kaldıgım satırdan devam ettiremiyorum bir türlü veri göstermiyor nasıl saglayabilirim
 
Ekteki örneği inceleyiniz.

Malzemeler : 1 adet Userform, 1 Adet Multipage (7 sayfalı), 70 adet Textbox (herbir page'de 10 adet olmak üzere)

Kodlar : (Userform1'in kod sayfasına yazılmak üzere)

Kod:
Option Explicit
[COLOR=darkgreen]'-------------------------------------[/COLOR]
Private Sub MultiPage1_Change()
[COLOR=darkgreen]    'Multipage'in seçilen sayfasına göre,
    'Textboxlara veri yükleyecek
    'prosedür çağrılıyor[/COLOR]
    Call Sayfa_Degisimi(MultiPage1.Value)
End Sub
[COLOR=darkgreen]'------------------------------------[/COLOR]
Private Sub UserForm_Initialize()
[COLOR=darkgreen]    'Userform ilk kullanım için hazırlanıyor[/COLOR]
    Dim sh As Page
    Dim x As Integer
    
    Me.Caption = "Multipage Örnek ..."
    
[COLOR=darkgreen]    'UF ilk açıldığında ilk sayfa görüntülensin[/COLOR]
    MultiPage1.Value = 0
[COLOR=darkgreen]    
    'Multipage'in sayfasına göre, Textboxlara veri yükleyecek
    'prosedür çağrılıyor[/COLOR]
    Call Sayfa_Degisimi(MultiPage1.Value)
    
[COLOR=darkgreen]    'Multipage'in herbir sayfasına isim veriliyor.[/COLOR]
    For Each sh In Me.MultiPage1.Pages
        x = x + 1
        sh.Caption = "S - " & x
    Next
        
End Sub
[COLOR=darkgreen]'---------------------------------------[/COLOR]
Private Sub Sayfa_Degisimi(pg As Integer)
    Dim ctrl As Control
    Dim shNo As Integer
    
    shNo = pg
    pg = pg * 10
    
[COLOR=darkgreen]    'Multipage'in başvurulan sayfasındaki Textbox'lara
    'Referansları hesaplanan hücre değerleri alınıyor
[/COLOR]    For Each ctrl In Me.MultiPage1.Pages(shNo).Controls
        If TypeOf ctrl Is MSForms.TextBox Then
           pg = pg + 1
           ctrl.Text = Cells(pg, 1)
        End If
    Next
 
End Sub
 
Son düzenleme:
saolasın arkadasım . başka bir soruum olcak 7 sayfada topkam 7*140 = 980 adet text box var excel sayfasındaki herbir satır için 14 textbox yani
a1 =texbox1 - b1=textbox2 c1=texbox3.....z1 =textbox14 şeklinde nasıl yapabilirim
 
ayrıca textboxlarda o veriler görünecek ve gerektiğinde textbox değistirilip kaydedilecek
 
saolasın arkadasım . başka bir soruum olcak 7 sayfada topkam 7*140 = 980 adet text box var excel sayfasındaki herbir satır için 14 textbox yani
a1 =texbox1 - b1=textbox2 c1=texbox3.....z1 =textbox14 şeklinde nasıl yapabilirim
Bir yanlışlık var.!!!
Bu şekilde sırası ile gidilidğinde Z1 Textbox14'ten fazla bir değer alır.!!!!! :cool:
 
bilgiler soyle
text1;a6-text2;b6-text3;c6-text4;d6-text5;e6-text6;f6-text7;g6-text8;h6
text9-I6; text10;w14-textbox11;w15-text12;x14-text12;15-text13;z14-text14;z15 şeklinde aynı sayfadan farklı yerlerden bilgi alması gerekiyor
 
anlaşılan textboxların veri aldığı yerler belli bir düzen ve sırada gitmiyor.
Kusura bakma arkadaşım ama 980 adet textbox için ayrı ayrı kod yazamayacam.
Size kolay gelsin.:cool:
 
saolasın arkadasım . başka bir soruum olcak 7 sayfada topkam 7*140 = 980 adet text box var excel sayfasındaki herbir satır için 14 textbox yani
a1 =texbox1 - b1=textbox2 c1=texbox3.....z1 =textbox14 şeklinde nasıl yapabilirim

Bu kadar TextBox kullanımı hakikaten çok fazla ... Bu kadar nesneyi nasıl yönetmeyi düşünüyorsunuz ki ?

Hem tasarlandığınız Userform, hem de yazdığınız kod verimli olmaz.

Size tavsiyem, Textbox'ları unutup, Spreadsheet nesnesine yönelmeniz. Herbir MultiPage'e bir adet SpreadSheet yerleştirin. Böylelikle; 980 adet Textbox'ın görevini, 7 tane Spreadsheet halledebilir.

Spreadsheet kullanımı için, forumda ismini yazarak arama yapabilirsiniz.
 
belli bir düzende gidiyor

aslında belli bir düzende gidiyor. her textbox altındaki textbox nosu+14 şeklinde numaralandı aldığı yerlerde sırayla asagı doğru devam ediyor
 
--------------------------------------------------------------------------------

arkadaslar yapmış olduğum formda multi page sayfasında 7 sayfa var her sayfada 140 adte listbox var ve aldığı satırlar sırayla devam ediyor. ben yapmış olduğum kodu aşağıya yazıyorum. Fakat 980 adet list box olup 70 satır girmektense bunun başka formulu farmı
TextBox1.Text = Range("B6").Text: TextBox2.Text = Range("C6").Text: TextBox3.Text = Range("D6").Text: TextBox4.Text = Range("E6").Text: TextBox5.Text = Range("F6").Text: TextBox6.Text = Range("G6").Text: TextBox7.Text = Range("H6").Text: TextBox8.Text = Range("I6").Text: TextBox9.Text = Range("W14").Text: TextBox10.Text = Range("W15").Text: TextBox11.Text = Range("X14").Text: TextBox12.Text = Range("X15").Text: TextBox13.Text = Range("Z14").Text: TextBox14.Text = Range("Z15").Text
YUKARISINDA YAZILAN KOD HER SIRADA OLAN TOPLAM 14 ADET TEXTBOX İÇİN HAZIRLANMIŞTIR. AŞAĞIYA DOĞRU BOLE DEVAM EDİYOR

TextBox15.Text = Range("B7").Text: TextBox16.Text = Range("C7").Text: TextBox17.Text = Range("D7").Text: TextBox18.Text = Range("E7").Text: TextBox19.Text = Range("F7").Text: TextBox20.Text = Range("G7").Text: TextBox21.Text = Range("H7").Text: TextBox22.Text = Range("I7").Text: TextBox23.Text = Range("W16").Text: TextBox24.Text = Range("W17").Text: TextBox25.Text = Range("X16").Text: TextBox26.Text = Range("X17").Text: TextBox27.Text = Range("Z16").Text: TextBox28.Text = Range("Z17").Text
 
Sayın yetiskol, sorunuza bir örnek ekleseydiniz, belki daha çabuk cevap alabilirdiniz, kimsenin 7 sayfalı multipage, 980 tane textbox ve bunların ilgili olduğu sayfayı oluşturup uğraşacağını zannetmiyorum. Sorunuzu daha ayrıntılı yazarsanız da iyi olur, örneğin istediğiniz bu textboxlara sayfadan veri alınması mı yoksa textboxlardan sayfaya veri gönderilmesi mi?
 
dosya eklenti daha iyi anlatabillmek adına

Anlattığımdan anlaşılmaması normal :) bu nedenle dosya da ekledim
 
TextBox1+14.Text = Range("B6+1").Text: TextBox2+14.Text = Range("C6+1").Text: TextBox3+14.Text = Range("D6+1").Text: TextBox4+14.Text = Range("E6+1").Text: TextBox5+14.Text = Range("F6+1).Text: TextBox6+14.Text = Range("G6+1").Text: TextBox7+14.Text = Range("H6+1").Text: TextBox8+14.Text = Range("I6+1").Text: TextBox9+14.Text = Range("W14+2").Text: TextBox10+14.Text = Range("W15+2").Text: TextBox11+14.Text = Range("X14+2").Text: TextBox12+14.Text = Range("X15+2").Text: TextBox13+14.Text = Range("Z14+2").Text: TextBox14+14.Text = Range("Z15+2").Text

dosyada formul olarak bu şekilde verileri otomatik olarak aldırabileceğimiz bir formül olabilirmi artırılacak değerler kalın ve renklidir
her satırda bu sekilde gerceklesmesini sağlama istiyorum
 
arkadaslar yardımcı olabilecek kimse yokmu
 
Textboxlardan da sayfaya veri gönderebileceğiniz düşünülerek, önce textboxların taglarına sayfa üzerindeki adresler eklenmiştir. Böylece her textbox'un tagında sayfadaki adresler istenildiği zaman kullanılabilir.

Kod:
Private Sub UserForm_Initialize()
    Sheets("ihracat").Select
    If Sheets("ihracat").Range("D5") = "" Then
        bosdaire.Show
    Else:
    End If
    '*************************************
    sut = Array(23, 24, 26)
    sat = 5
    sat2 = 12
    a = 0
    For i = 1 To 7
        For ii = 1 To 10
            sat = sat + 1
            For iii = 2 To 9
                a = a + 1
                Me.Controls("Textbox" & a).Tag = Cells(sat, iii).Address
            Next iii
            sat2 = sat2 + 2
            For iii = 0 To 2
                For iv = 0 To 1
                    a = a + 1
                    Me.Controls("Textbox" & a).Tag = Cells(sat2 + iv, sut(iii)).Address
                Next iv
            Next iii
        Next ii
    Next i
    For x = 1 To 980
        Me.Controls("Textbox" & x).Text = Range(Me.Controls("Textbox" & x).Tag)
    Next x
    '*************************************
End Sub
 
eline saglık arkadasım harika olmuş. Bişey daha sorsam bunları textboxda gosterıyor ya ben istediğimi değiştirmek istediğimde kaydet butonu yapsam nasıl kaydetmesını saglarım
 
Ekli Dosya inmiyor.

Bu dosyalar niççin inmiyor silinmiş mi?

Ekteki örneği inceleyiniz.

Malzemeler : 1 adet Userform, 1 Adet Multipage (7 sayfalı), 70 adet Textbox (herbir page'de 10 adet olmak üzere)

Kodlar : (Userform1'in kod sayfasına yazılmak üzere)

Kod:
Option Explicit
[COLOR=darkgreen]'-------------------------------------[/COLOR]
Private Sub MultiPage1_Change()
[COLOR=darkgreen]    'Multipage'in seçilen sayfasına göre,
    'Textboxlara veri yükleyecek
    'prosedür çağrılıyor[/COLOR]
    Call Sayfa_Degisimi(MultiPage1.Value)
End Sub
[COLOR=darkgreen]'------------------------------------[/COLOR]
Private Sub UserForm_Initialize()
[COLOR=darkgreen]    'Userform ilk kullanım için hazırlanıyor[/COLOR]
    Dim sh As Page
    Dim x As Integer
    
    Me.Caption = "Multipage Örnek ..."
    
[COLOR=darkgreen]    'UF ilk açıldığında ilk sayfa görüntülensin[/COLOR]
    MultiPage1.Value = 0
[COLOR=darkgreen]    
    'Multipage'in sayfasına göre, Textboxlara veri yükleyecek
    'prosedür çağrılıyor[/COLOR]
    Call Sayfa_Degisimi(MultiPage1.Value)
    
[COLOR=darkgreen]    'Multipage'in herbir sayfasına isim veriliyor.[/COLOR]
    For Each sh In Me.MultiPage1.Pages
        x = x + 1
        sh.Caption = "S - " & x
    Next
        
End Sub
[COLOR=darkgreen]'---------------------------------------[/COLOR]
Private Sub Sayfa_Degisimi(pg As Integer)
    Dim ctrl As Control
    Dim shNo As Integer
    
    shNo = pg
    pg = pg * 10
    
[COLOR=darkgreen]    'Multipage'in başvurulan sayfasındaki Textbox'lara
    'Referansları hesaplanan hücre değerleri alınıyor
[/COLOR]    For Each ctrl In Me.MultiPage1.Pages(shNo).Controls
        If TypeOf ctrl Is MSForms.TextBox Then
           pg = pg + 1
           ctrl.Text = Cells(pg, 1)
        End If
    Next
 
End Sub
 
Peki, multimage de Page1 sayfasına set NewTextbox komutu ile Textbox oluşturmak istesek Set satırını nasıl yazmalıyız.
 
Geri
Üst