Vous pouvez rencontrer des problèmes lorsque vous essayez d' écrire par programmation à une feuille de calcul Excel ouvert , surtout si vous ouvrez une deuxième fois . Excel ne peut pas ouvrir un autre classeur avec le même nom , même s'il est stocké dans un chemin différent. Avec Visual Basic pour Applications, ou VBA, vous pouvez utiliser l'objet de l'interface de la fenêtre pour passer de Windows actifs au lieu d'ouvrir la feuille de calcul pour transférer des données . Utilisation de l'objet fenêtre peut également améliorer la vitesse de transfert des données, car vous n'avez pas à ouvrir la feuille plusieurs fois pour écrire. Instructions
1
lancement Excel et tapez " C'est la feuille ouverte " à " A1 ". Enregistrez le classeur dans "C: \\ Temp \\ " as ". Sheet1.xlsx "
2
lancer une nouvelle session d'Excel, et le type " données a» dans « A1 », « données b" à "B1" et "data c" en "C1 ". Cliquez sur l'onglet "Developer " et cliquez sur " Visual Basic " pour lancer la fenêtre de l'éditeur Visual Basic. Cliquez sur le menu " Insertion", puis cliquez sur " Module ". Tapez le code suivant pour créer une nouvelle procédure : " Entrée".
TransferDataToSheet Private Sub ()
de presse
3
copiez et collez le texte suivant de créer trois variables pour contenir des données de cellule :
clmnA Dim As String
clmnB Dim As String
clmnC Dim As String
4
copie et coller le code suivant pour enregistrer les valeurs dans les cellules A1 , B1 et C1 en variables : . .
des feuilles de calcul ( "Sheet1" )
Range (" A1") Sélectionnez
clmnA = ActiveCell.Value
. Range (" B1 " ) . Sélectionnez
clmnB = ActiveCell.Value
. Range (" C1" ) . Sélectionnez
clmnC = ActiveCell.Value
End With
5
Copiez et collez la commande suivante pour activer la feuille de calcul ouverte ( Sheet1.xlsx ) :
. fenêtres ( "Sheet1" ) Activer
6
Copiez et collez ce qui suit pour transférer les données de votre feuille de calcul actuelle de la feuille de calcul ouverte :
Worksheets ( "Sheet1" )
. Range (" A2 " ) . Sélectionnez
Selection.Value = clmnA
. Range (" B2 " ) . Sélectionnez
Selection.Value = clmnB
. Range (" C2" ) . Sélectionnez
Selection.Value = clmnC
End With
7
Appuyez sur " F5" pour exécuter votre procédure pour transférer des données à la feuille de calcul ouverte .