Εμφάνιση ενός μόνο μηνύματος
  #9  
Παλιά 09-05-12, 13:39
Το avatar του χρήστη gr8styl
gr8styl Ο χρήστης gr8styl δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Καλημέρα σας
Θα ήθελα να πω ότι με τις μέχρι τώρα προτάσεις, το J12 (άρα και το τυχαίο όνομα) αλλάζει τιμή κάθε φορά που το Excel κάνει υπολογισμό και όχι μόνο όταν πατάμε το κουμπί !!!

Δεν είμαι σίγουρος για το ποιο είναι το ζητούμενο αλλά,

Για να αλλάζει ΜΟΝΟ (αλλιώς νομίζω δεν έχει νόημα) όταν πατάμε το κουμπί, η μακροεντολή πρέπει να καταχωρεί τυχαία τιμή στο κελί J12 και όχι τύπο.

Range("J12").Value = Int(177 * Rnd) + 1

Το 177 βέβαια καλό θα είναι να είναι δυναμικό δηλαδή Range("area").Rows.Count άρα θα πρότεινα
Κώδικας:
Sub Macrorandnames()
Randomize
Range("J12").Value = Int(Range("area").Rows.Count * Rnd) + 1
End Sub
Ο τύπος που μας δίνει το τυχαίο όνομα είναι
=INDEX(area;J12)

Φιλικά
Θανάσης
ΥΓ. Αν θέλουμε τυχαίο όνομα όταν γίνεται υπολογισμός και όχι ΜΟΝΟ όταν πατάμε το κουμπί, δεν χρειάζεται VBA και κουμπί. Αρκεί ο τύπος: =INDEX(area;INT(RAND()*COUNTA(area))+1) και F9 για να προκαλέσουμε υπολογισμό.
Απάντηση με παράθεση