Pour préparer un rapport de présence avec une feuille Excel
Pour préparer un rapport de présence avec une feuille Excel
- Problème
- Solution
- Remarque
Problème
J'ai 60 résidents travaillant dans notre département. Ils assistent au rapport du matin tous les jours. J'ai donc préparé une feuille de calcul Excel (tableau de présence nommée) qui contient les colonnes A1: A60 avec les noms des résidents B1: B60 avec le pourcentage d'assiduité pendant un mois. Mon travail consiste à préparer un rapport de présence pour chaque résident. J'ai préparé un modèle pour le rapport de présence. Maintenant, je veux exécuter une macro qui fera les choses suivantes:1. Ouvrez une nouvelle feuille de calcul à partir du modèle du classeur contenant "Feuille de travail du tableau de présence".
2. Il devrait contenir les données de la feuille de calcul "Tableau de présence".
une. Dans la première colonne A1 et dans le champ Nom du modèle (nouvelle feuille de calcul ouverte à la première étape) (toujours D6)
b. Apporter les données de B1 et les mettre dans le champ de pourcentage du modèle (F10)
c. Il devrait renommer l'onglet de la feuille de calcul avec les données de A1 (c'est-à-dire le nom du résident)
3. Il convient de répéter l'étape 2 jusqu'à atteindre la cellule vide
Quelqu'un peut-il m'aider à écrire la macro?
Solution
'Sous-programme de rapport de présence à'Ouvrir une nouvelle feuille de travail appelée feuille de calcul de la fréquentation
'Avec les données du tableau de présence
Les résidents se nomment à D6
'Pourcentage de présence d'un mois à F10
'Renommer la feuille au nom des résidents et recommencer
'Pour tous les résidents à la table
Sous rapport de présence ()
Dim cCell As Object, i As Integer 'Deux variables Objet cCell (Cellule actuelle) et i (Entier de comptage standard)
Cellules (1, "A"). Sélectionnez "Assurez-vous de commencer chaque fois en haut de la feuille de calcul.
Application.ScreenUpdating = False 'Désactiver les mises à jour de l'écran lorsque la macro est en cours d'exécution
Pour chaque cCell In Range (Cellules (1, "A"), Cellules (1, "A"). End (xlDown)) 'Exécute notre code dans chaque cellule avec du texte
Set NewSheet = Sheets.Add (Type: = xlWorksheet) 'Ajouter une nouvelle feuille de calcul
NewSheet.Name = "Feuille de travail de la table de présence" 'renommer la feuille de travail
Feuilles ("Feuille de travail de la table de présence"). Cellules (6, "D"). Valeur = cCell.Value 'put résidents nom est la cellule D6
Feuilles ("Feuille de travail de la table de présence"). Cellules (10, "F"). Valeur = cCell.Offset (0, 1) .Value 'met l'attestation de résidence dans F10
Sheets ("Feuille de travail du tableau de présence"). Name = cCell.Value
CCell suivant
End Sub