2011-10-24 6 views
12

Nous devons écrire une feuille de calcul Excel contenant du code VBA; le code lit et effectue des opérations sur les données dans la première feuille de calcul.Importation de données de tableur Excel dans une autre feuille de calcul Excel contenant VBA

L'utilisateur recevra des feuilles de calcul contenant des données mais ne contenant pas le code VBA. Nous devons être en mesure d'importer automatiquement les données des feuilles de calcul contenant les données dans la feuille de calcul contenant le code VBA. Les feuilles de calcul contenant les données ont le même format de colonne et les mêmes types de données que la feuille de calcul de la feuille de calcul contenant les données.

Idéalement, vous devez ouvrir la feuille de calcul contenant le code VBA, être présenté avec une interface utilisateur permettant à l'utilisateur de naviguer vers la feuille de calcul contenant les données, cliquez sur OK et les données seront importées.

Comment vous y prendrez-vous? Cela doit être fait en utilisant VBA dans des tableurs Excel.

Merci beaucoup.

+0

Et un autre ... lien clique à travers à l'escroquerie pharma. Veuillez supprimer et remplacer avec une copie de machine Wayback. En attendant, les lecteurs méfient en cliquant sur le lien ci-dessus (vba4all [dot] com ...). –

Répondre

25

Cela devrait vous aider à démarrer: l'utilisation de VBA dans votre classeur Excel, faites-le demander à l'utilisateur le nom de leur fichier de données, puis copier uniquement cette plage fixe dans votre classeur cible (qui pourrait être le même classeur comme votre macro a permis un, ou un troisième classeur). Voici un exemple vba rapide de comment ça fonctionne:

' Get customer workbook... 
Dim customerBook As Workbook 
Dim filter As String 
Dim caption As String 
Dim customerFilename As String 
Dim customerWorkbook As Workbook 
Dim targetWorkbook As Workbook 

' make weak assumption that active workbook is the target 
Set targetWorkbook = Application.ActiveWorkbook 

' get the customer workbook 
filter = "Text files (*.xlsx),*.xlsx" 
caption = "Please Select an input file " 
customerFilename = Application.GetOpenFilename(filter, , caption) 

Set customerWorkbook = Application.Workbooks.Open(customerFilename) 

' assume range is A1 - C10 in sheet1 
' copy data from customer to target workbook 
Dim targetSheet As Worksheet 
Set targetSheet = targetWorkbook.Worksheets(1) 
Dim sourceSheet As Worksheet 
Set sourceSheet = customerWorkbook.Worksheets(1) 

targetSheet.Range("A1", "C10").Value = sourceSheet.Range("A1", "C10").Value 

' Close customer workbook 
customerWorkbook.Close 
+0

Merci - c'est exactement ce que je recherchais. – Anthony

-1

Les données peuvent être tiré dans un fichier Excel d'un autre excel par la méthode Workbook ou une référence externe ou par l'installation d'importation de données.

Si vous souhaitez lire ou même si vous souhaitez mettre à jour un autre classeur Excel, ces méthodes peuvent être utilisées. Nous ne pouvons pas dépendre uniquement de VBA pour cela.

For more info on these techniques, please click here to refer the article

Questions connexes