Hirdetés

Új hozzászólás Aktív témák

  • istvankeresz

    aktív tag

    válasz andreas49 #50003 üzenetére

    Üdv!

    A megegyező nevű emberek textboxból berögzítésének problémájánál akadtam el.

    Az működik, hogy berögzítek egy embert, aminek a neve lesz a worksheet neve, ilyenkor ugye ha még egy ugyanolyan nevű embert rögzittek, akkor az sikertelen.

    Ha úgy oldom meg, hogy tegyen mellé egy valamilyen karaktert (Pl.: 2), akkor az is működik(egyszer). Harmadik ugyanilyen nevű embernél már ez is hibázik. Ez már nagyon kis eséllyel fordul elő, de hibás rögzítésnél könnyen előfordulhat.

    Erre van kiforrott megoldás, vagy olyasmire gondoltam , hogy egy 2-től növekvő számot tegyen az ilyen esetekben a nevek mögé, és úgy hozzon létre egy új worksheet-t.

    Másik problémám pedig ennek a problémának a figyelése. Próbáltam elágazásokkal, Case Select-el, de mindig valami félre ment. A koncepcióm az, hogy a rögzítő gomb megyomásakor egy ciklus végigfut a worksheeteken, ha nem talál egyező worksheetet, akkor létrehozza azzal nével, ami a textboxban van. Ha talál egyezőt, akkor megkérdi, hogy biztos rögzíted? Ez lenne a két megegyező nevű ember esete. Itt ha Igen.t nyom, akkor létrehozza a fent említett módon. Pl. Kovács Béla2. Viszont a ciklusokból nem sikerül jó helyen kilépnem. Mert a feltételek nem úgy teljesűlnek, ahogy én terveztem. :)

    Most ezt faragom, de ez sem működik jól:

    Dim answer As Integer
    Dim wbSearch As Workbook, wsSearch As Worksheet
    For Each wsSearch In ActiveWorkbook.Sheets
        
        Select Case wsSearch.Name
                
                Case Is <> TextBox11.Value
                
        
                Case Is = TextBox11.Value
                    
                    answer = MsgBox("Ilyen nevű munkatárs már rögzítve! Biztos, hogy folytatod a rögzítést?", vbQuestion + vbYesNo + vbDefaultButton2, "Munkatárs rögzítése")
                    If answer = vbYes Then
                        
                        Sheets("Szemely_TEMPLATE").Copy After:=Sheets("Havi_TEMPLATE")
                        ActiveSheet.Name = TextBox11.Value & 2
                        
                        Sheets(TextBox11.Value).Range("A2") = TextBox11.Value & " " & ComboBox7.Value
                        Sheets(TextBox11.Value).Range("B2") = TextBox12.Value
                        Sheets(TextBox11.Value).Range("C2") = TextBox13.Value
                        Sheets(TextBox11.Value).Range("D2") = TextBox14.Value
                        
                        MsgBox "Munkatárs sikeresen rögzitve! Kérlek zárd be és nyisd meg újra a programot!"
                        
                        TextBox11.Value = ""
                        ComboBox7.Value = ""
                        TextBox12.Value = ""
                        TextBox13.Value = ""
                        TextBox14.Value = ""
                        
                    End If
                    
                    If answer = vbNo Then
                    
                        TextBox11.Value = ""
                        ComboBox7.Value = ""
                        TextBox12.Value = ""
                        TextBox13.Value = ""
                        TextBox14.Value = ""
                        
                    End If
        End Select
        
    Next wsSearch

    Szóval ezen az úton indultam el. Ötlet?

    [ Szerkesztve ]

    XBOX ONE GT: istvankereszt79

Új hozzászólás Aktív témák