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

  • bteebi

    veterán

    Sziasztok!

    Írtam egy olyan makrót, amivel egy adott sorban lévő adatokat tudok átmásolni egy másik lap utolsó sorába úgy, hogy az eredeti helyről törlöm őket, vagyis effektíve "archiválom" az adatokat:

    Public rwind As Long
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim valasz As String, firstemptyrow As Long
    If Target.Column = 6 Then
    rwind = Target.Row
    If Target = "Archiválható" Then
    valasz = MsgBox("Szeretnéd archiválni?", vbYesNo, "Archiválás")
    If valasz = vbYes Then
    firstemptyrow = Sheets("Archivált").Cells(Sheets("Archivált").Rows.Count, 2).End(xlUp).Row + 1
    Range(Sheets("Adatok").Cells(Target.Row, 2), Sheets("Adatok").Cells(Target.Row, 6)).Copy Destination:=Sheets("Archivált").Cells(firstemptyrow, 2)
    Range(Sheets("Adatok").Cells(Target.Row, 2), Sheets("Adatok").Cells(Target.Row, 6)).Delete Shift:=xlUp
    Else: MsgBox "Nem lett archiválva!", vbOKOnly, "Archiválás"
    End If
    Sheets("Adatok").Cells(rwind, 2).Select
    End If
    End If
    End Sub

    Első közelítésben teljesen jól működik. Két "probléma" van vele: ha megosztom a munkafüzetet (sokan használnák), akkor nem működik az archiválás, mert - gondolom - az "Archivált" lapon nem tudja megtalálni az utolsó sort. Valahogy meg lehetne ezt kerülni?

    A másik kérdésem pedig az lenne, hogy hogy lehet olyat csinálni, hogy egy szöveg egy adott ideig (pl. 5 másodpercig) legyen csak kiírva, utána pedig eltűnjön? Ha jól gondolom, akkor ilyet message boxszal sehogy se lehet csinálni.

    Előre is köszönöm a javaslatokat! :R

    Cancel all my meetings. Someone is wrong on the Internet.

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