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

  • m.zmrzlina

    senior tag

    Ötletre volna szükségem.

    A következő kód egy ActiveX parancsgombhoz van rendelve és azt csinálja, (meg még sok minden mást de ez most nem érdekes) hogy a vágólapról megfelelő helyre beilleszt egy 1 oszlop széles változó hosszúságú tartományt, vagy ha a felhasználó <Szóköz>-t nyom akkor törli a meglévőt, vagy nem engedi elfelejteni a "névadást"(Select Case 2. ág)

    Private Sub CommandButton1_Click()
    Dim tech As String

    start:
    tech = InputBox("Add meg a technikus nevét!" + Chr(13) + Chr(13) + "A lista törléséhez nyomj < SPACE >-t!")

    Select Case tech

    Case Is = " "
    GoTo clearcontent
    Case Is = ""
    MsgBox "Nem adtad meg a technikus nevét!" + Chr(13) + Chr(13) + "Pótold a hiányosságot!", vbCritical, "Hiányzó adat!"
    GoTo start
    Case Is <> ""
    GoTo paste_list

    End Select

    paste_list:
    Application.ScreenUpdating = False

    CommandButton1.Caption = tech
    Cells(2, 2).Value = tech
    Cells(4, 2).Select

    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteAll
    If Err.Number <> 0 Then
    MsgBox "Jelöld ki a panellistát!" & Chr(13) & "Hibakód:" & Err.Number, vbCritical, "Hiba!!!"
    Cells(2, 2).Select
    Range(ActiveCell, ActiveCell.End(xlDown)).ClearContents
    CommandButton1.Caption = "Tech_1"
    Exit Sub
    End If

    'stb...stb...stb...

    Az a gondom, hogy ha a felhasználó izgalmában véletlenül több szóközt nyom egy helyett akkor nem a régi lista törlése történik hanem beilleszti a vágólapot úgy hogy a parancsgomb felirata " "(kvázi semmi) lesz ami kód szempontjából egy teljesen normális működés de nem ez a cél.

    Ezt a felhasználói hibát kellene lekezelni a legegyszerűbben. Nem baj ha nem <Szóköz>-zel törlünk, lehet akár <Del> vagy <Backspace> is.

    Hogyan lehet ezt megoldani?

    [ Szerkesztve ]

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