créer une macro qui vous permet de convertir excel lignes à partir d'une feuille unique de nouvelles feuilles

J'ai besoin de créer une macro qui vous permet de convertir excel lignes à partir d'une feuille unique pour de nouvelles feuilles.

J'ai 3 Lignes d'en-têtes suivie par un grand nombre de lignes de données.

Je voudrais placer de chaque ligne sur cette feuille "Dept" dans de nouvelles feuilles de leur propre (à l'exception des lignes d'en-tête). Sur chaque feuille, je voudrais le top 3 lignes (les en-têtes) répétée et mise en forme copié (si possible), puis la seule ligne correspondante de la "Dept" de la feuille. J'aimerais aussi que les nouvelles feuilles à être nommé à la valeur saisie dans la colonne A (c'est à dire des plafonniers ou des appliques murales à partir de l'exemple ci-dessous).

Je n'ai pas de macro de l'expérience, donc je vais avoir du mal à prendre de code à partir des réponses précédentes et en essayant de l'appliquer à ma cause. Merci pour l'aide!

       A           B           C          D
  1. dept modèle //promos //quicklinks //bannière principale

  2. où le trouver /contenu/fente //category //attributs

  3. vide //contenu actif //html //hero image

  4. Plafond Lights //valeur/valeur /valeur /

  5. Mur /Lumière/valeur/valeur /valeur /

  6. Étage Lumières //valeur/valeur /valeur /

Converti à de nouvelles feuilles d'un même classeur qui ont une seule ligne après les 3 lignes d'en-tête:

nouvelle feuille nommée: des Lumières au Plafond

       A           B           C          D
  1. dept modèle //promos //quicklinks //bannière principale

  2. où le trouver /contenu/fente //category //attributs

  3. vide //contenu actif //html //hero image

  4. Plafond Lights //valeur/valeur /valeur /

nouvelle feuille nommée: luminaires muraux

       A           B           C          D
  1. dept modèle //promos //quicklinks //bannière principale

  2. où le trouver /contenu/fente //category //attributs

  3. vide //contenu actif //html //hero image

  4. Mur /Lumière/valeur/valeur /valeur /

Voici le code que j'ai pour l'instant...

Sub Addsheets()
Dim cell As Range
Dim b As String
Dim e As String
Dim s As Integer
Sheets("Dept").Select
a = "a4"
e = Range(a).End(xlDown).Address 'get's address of the last used cell
 'loops through cells,creating new sheets and renaming them based on the cell value
For Each cell In Range(a, e)
    s = Sheets.Count
    Sheets.Add After:=Sheets(s)
    Sheets(s + 1).Name = cell.Value
Next cell

Application.CutCopyMode = True

Dim Counter As Long, i As Long

Counter = Sheets.Count
For i = 1 To Counter
    Sheets("Dept").Cells(1, 3).EntireRow.Copy
    Sheets(i).Cells(1, 3).PasteSpecial

Next i

Application.CutCopyMode = False
End Sub

Je peux obtenir les nouvelles feuilles de créer et de nom basé sur les cellules de la colonne A avec la partie supérieure de code, mais quand j'ai essayé d'ajouter le code pour avoir les trois premières lignes (les lignes d'en-tête) copie à chacune de ces nouvelles feuilles j'obtiens l'Erreur 9 Indice de gamme pour: Sheets(i).Les cellules(1, 3).PasteSpecial.

Vous ne savez pas comment résoudre ce problème?
Aussi, est-il un moyen de préserver la mise en forme de l'en-tête (largeurs de colonne)?

  • I need to create macro....I have no macro experience... Bon Endroit pour commencer avec office.microsoft.com/en-us/excel-help/... Et une fois que vous avez un peu de code avec lequel vous êtes bloqué, puis il suffit de poster de retour 🙂
  • merci! J'ai supprimé ce que j'ai travaillé hier car il ne fonctionnait pas. Mais je vais vous donner ce tutoriel un essai et après revenir ici.
  • ajout d'un code à mon post! Toute aide est très appréciée.
InformationsquelleAutor user1399767 | 2012-05-16