La mise en miroir de la colonne dans une feuille excel vers d'autres plusieurs feuilles excel avec mise à jour automatique
J'ai un classeur excel qui contient plusieurs feuilles à l'intérieur. Pour l'amour de cette question, les feuilles sont nommés Feuil1, Feuil2, Feuil3, et ainsi de suite. Je voudrais avoir la Colonne A de la feuille sheet1 être répliquée dans le reste de la feuille, et que les nouvelles cellules sont ajoutés à la colonne A de la feuille 1, ils seraient automatiquement entré dans les autres feuilles dans le classeur. Je préfère ne pas avoir mis "fin de plage; c'est à dire: A100000" pour cela. Par exemple, si je entrer en Premier dans la cellule A1 de la feuille Sheet1, le mot "Premier" devrait maintenant apparaître dans la cellule A1 de la feuille Sheet2. J'ai utilisé le code suivant, et il ne semble pas fonctionner. Toute aide serait grandement appréciée.
Private Sub Worksheet_Change(ByVal Target As Range)
Call UpdateFromSheet1
End Sub
Sub UpdateFromSheet1(ByVal Sh As Object, ByVal Target As Range)
If Sh.CodeName = "Sheet1" Then
If Not Intersect(Target(1, 1), Range("A1:A1000")) Is Nothing Then
Sh.Range("A1:A1000").Copy Sheet2.Range("A1")
End If
End If
End Sub
- Pouvez-vous ne pas ce faire formulaically par la mise en valeur (utiliser Un Col par exemple) dans les feuilles suivantes pour être
"=Sheet1!A1"
et copier cette formule vers le bas d'un nombre suffisant de lignes et de colonnes?? - Vous n'êtes pas en passant le paramètre Target (ou le Poisson de paramètre) sur UpdatefromSheet.
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR
Pour un nettoyage à la recherche Non-VBA solution, vous pouvez utiliser la formule de références que d'autres l'ont mentionné, mais entrer comme ça.
Dans la Feuil2 la cellule A1 =
If(Sheet1!A1="","",Sheet1!A1)
de Cette façon, vous pouvez recopier vers le bas sur l'ensemble de la colonne A et de ne pas avoir "0" pop-up si la feuille Sheet1 a une des lignes sans données.Je pense que vous avez l'idée générale, mais je soupçonne que vous ne pouvez pas avoir votre code au bon endroit.
Pour la VBA solution:
Première, vous n'avez pas besoin d'appeler le sous de
Worksheet_Change
événement (sauf bien sûr si vous souhaitez utiliser ce sous pour d'autres raisons et de passer des variables à elle. Deuxième, si vous placez ce code dans la feuille de calcul de l'objet dans le VBE de la "Feuil1" il va faire comme vous le souhaitez:C'est un très utilisation de base de excel. Vous pouvez définir des cellules égales les unes aux autres. Vous en aucune façon besoin d'une macro VBA pour cela.
Si vous le mettez dans la cellule "A1" sur la feuille Feuil2 et Feuil3:
Ensuite, lorsque vous tapez quelque chose dans A1, il sera "en miroir" sur les feuilles 2 et 3. Vous pouvez le remplissage automatique de toutes les cellules de la colonne A sur les feuilles 2 et 3.
Êtes-vous familier avec le terme remplissage automatique?
Si vous ne comprenez pas tout ce que je viens de dire et que vous voulez il suffit d'exécuter une macro exécuter ce et de commencer à taper loin:
Bonne Chance.