Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 31-05-15, 11:13
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Για το ζητούμενο χρειάζονται δύο κώδικες:

Θεωρείται, ότι η γραμμή 1 του φύλλου, περιέχει κεφαλίδες.

Ο πρώτος κώδικας μπαίνει στο φύλλο και ενεργοποιήται αν
επιλέξουμε το πρώτο διαθέσιμο κενό κελί στην στήλη Α.
Υπάρχουν και κάποιοι έλεγχοι, ώστε να μην «τρέχει» αν
δεν επιλέξουμε το συγκεκριμένο κελί και μόνο.

Κώδικας:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Lr As Long
    If Target.Column <> 1 Then Exit Sub
    If Target.Row = 1 Then Exit Sub
    If Target.Columns.Count > 1 Then Exit Sub
    If Target.Rows.Count > 1 Then Exit Sub
    Lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
    If UserForm1.Visible = True Then
        Exit Sub
    Else
        If Target.Row = Lr Then UserForm1.Show
    End If
End Sub
Ο δεύτερος, συνδέεται με το κουμπί OK της φόρμας και εισάγει
τα περιεχόμενα των text-boxes 1 και 2 στα κατάλληλα κελιά των στηλών Α και Β.
Ταυτόχρονα, «καθαρίζει» τα text-boxes 1 και 2 και επιλέγει το επόμενο, κενό κελί.

Κώδικας:
Private Sub CommandButton1_Click()
    Dim Lr As Long
    Lr = Cells(Rows.Count, 1).End(xlUp).Row + 1

    Cells(Lr, 1).Value = TextBox1.Value
    Cells(Lr, 2).Value = TextBox2.Value
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox1.SetFocus
    Cells(Lr + 1, 1).Activate
End Sub
Σημειώσεις:
1
Οι κώδικες είναι παραδειγματικοί και θα πρέπει,
να προσαρμοστούν στο ζητούμενο (αποτέλεσμα) του κάθε χρήστη,
αν οι συγκεκριμένες λειτουργίες, δεν καλύπτουν το 100% του αποτελέσματος.
2
Στις ιδιότητες της φόρμας, έχει επιτραπεί η επιλογή κελιών, ενώ η φόρμα είναι «ανοιχτή».

Παρατηρήσεις:
1
Το αυτοματοποιημένο άνοιγμα της φόρμας, για πολλούς λόγους
ένας εκ των οποίων είναι το Undo, ίσως θα έπρεπε να μην υπάρχει και να γίνεται με κουμπί.
2
Επειδή, δεν διευκρινίζεται το περιεχόμενο των text-boxes, ίσως θα έπρεπε να υπάρχει μια μικρή διόρθωση αν
είναι κείμενα, ακαίρεοι, δεκαδικοί, ημερομηνίες κλπ.
3
Επιλογή και διόρθωση, ήδη «γεμάτων» κελιών δεν υποστηρίζεται,
μέσω φόρμας, αφού δεν ζητήθηκε.

Τελευταία επεξεργασία από το χρήστη Spirosgr : 31-05-15 στις 11:23.
Απάντηση με παράθεση