Extrait de l'Année à partir de la Date à l'Aide de VBA dans Excel
J'ai un classeur excel avec plusieurs feuilles. Ce dont j'ai besoin pour faire est de transférer l'année à partir d'une colonne dans une feuille à une autre feuille. Je peux obtenir de la colonne de transfert de plus de bien, mais je ne peux pas le faire donnez-moi juste la date.
La date est en dd-mon-yy
format (ex. 14-Jul-14
). Ce dont j'ai besoin est de le faire dans yyyy
(ex. 2014
). Toute aide serait super.
Le code que j'essaie est présent, mais il ne fonctionne pas.
[...]
For I=5 to 5
If Not TransferCol (5) = 0 Then
Worksheets ("Results").Cells.(Row, StartColumn + I) = Worksheets("Program").Cells(RowTransfer, Year (TransferCol (5)))
Exit Do
End If
Next
[....]
Avez-vous essayé de la construction dans l'Année() la fonction de VBA? Quelque chose comme: Debug.Print (Année(La Feuille Sheet1.Range("A1")))
OriginalL'auteur Mechanical Notaprogrammer | 2014-07-14
Vous devez vous connecter pour publier un commentaire.
Il me semble qu'il existe (au moins) 2 façons d'obtenir ce que vous voulez.
1. Mise en forme
Au lieu de l'extraction de l'exercice de la source, la date, vous pouvez copier la totalité de la date et du format de la cellule cible de l'année. De cette façon, vous arrivez à garder l'original date de l'information, mais seulement de montrer la partie qui vous intéresse. Voici un exemple pour copier la date à partir de
"Sheet1"/Cell(1,1)
à"Sheet2"/Cell(1,1)
et l'utilisationNumberFormat
pour définir la destination de la cellule mise en forme pour afficher uniquement les 4 chiffres de l'année de la partie:2. À l'aide de la
Year()
fonctionCe que vous devez être conscient, dans ce cas, est de s'assurer de la cellule cible est formaté en tant que (entier) nombre. Si vous le formater comme une date, alors le résultat sera très mal, car il utilise la valeur de l'année comme un jour de décalage à partir de l'année 1901 ou à peu près. Le code lui-même est simple. Je suis l'aide de l'exemple précédent comme base pour cette:
Les deux exemples sont simplistes, mais j'espère qu'ils vous donner l'idée générale. Je suis sûr que vous pouvez les adapter à vos besoins.
OriginalL'auteur djikay
En fonction de votre code que vous utilisez déjà l'Année() fonction.
Mais je pense qu'il y a une erreur de syntaxe:
Il ya un supplément de dot.
OriginalL'auteur Chris Lam
Dans le but d'Extraire de l'Année à partir de la Date à l'Aide de VBA dans Excel' (répondre à vos verbatim question), vous pouvez utiliser un
Year()
fonction de VBA. L'alternative sera à l'aide de DatePart et en précisant DateInterval.Année pour l'Intervalle argument (re: http://msdn.microsoft.com/en-us/library/88k2aec8%28v=vs.90%29.aspx)OriginalL'auteur Alexander Bell
Vous utilisez le
Cells
fonction à tort, il me semble:Ce que ce n'est extrait de l'année de
TransferCol(5)
et d'accéder à la valeur de la cellule(RowTransfer, extracted year)
de laProgram
feuille de calcul.Vous voudrez peut-être faire quelque chose comme
si
TransferCol
contient vos valeurs de date.OriginalL'auteur MP24