Copier les données de classeur fermé basé sur la variable définie par l'utilisateur chemin

J'ai épuisé mes capacités de recherche à la recherche d'une solution de ce. Voici un aperçu de ce que je voudrais faire:

  • Utilisateur ouvre macro-enabled fichier Excel
  • Immédiate invite s'affiche pour l'utilisateur de saisir ou de sélectionner le fichier de chemin de classeurs. Ils auront besoin pour sélectionner les deux fichiers, et les noms de fichier peuvent ne pas être compatibles
  • Après avoir entré les emplacements de fichier, la première feuille de calcul à partir de la première sélection du fichier sera copié dans la première feuille de calcul du classeur macros activées, et la première feuille de calcul de la deuxième sélection du fichier sera copié sur la deuxième feuille de calcul du classeur macros activées.

Je suis venu à travers quelques références pour ADO, mais je ne suis vraiment pas familier avec encore.

Edit: j'ai trouvé un code pour importer des données à partir d'un fichier fermé. J'ai besoin de modifier la gamme de retourner les résultats de la variable.

    Private Function GetValue(path, file, sheet, ref)

    path = "C:\Users\crathbun\Desktop"
    file = "test.xlsx"
    sheet = "Sheet1"
    ref = "A1:R30"

     '   Retrieves a value from a closed workbook
    Dim arg As String

     '   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If

     '   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
    Range(ref).Range("A1").Address(, , xlR1C1)

     '   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function

Sub TestGetValue()

    path = "C:\Users\crathbun\Desktop"
    file = "test"
    sheet = "Sheet1"

    Application.ScreenUpdating = False
    For r = 1 To 30
        For C = 1 To 18
            a = Cells(r, C).Address
            Cells(r, C) = GetValue(path, file, sheet, a)
        Next C
    Next r

    Application.ScreenUpdating = True
End Sub

Maintenant, j'ai besoin d'un bouton de commande ou d'un userform qui va immédiatement à l'utilisateur de définir un chemin d'accès au fichier et importer les données à partir de ce fichier.

avez-vous déjà construit un peu de code? où êtes-vous pris?
J'ai ajouté le code que j'ai actuellement disponibles. Il n'est pas beaucoup et je ne suis même pas sûr que je vais dans la bonne direction.
Aucune raison pourquoi vous ne voulez pas ouvrir les deux fichiers? Le code est simple et à importer les feuilles de ces fichiers à l'aide de classeurs.open()
Je n'ai pas l'esprit si les fichiers sont ouverts pendant le processus. Je ne voulais pas l'utilisateur d'avoir à ouvrir les fichiers individuellement. J'ai juste besoin d'eux pour être en mesure de sélectionner ou de consulter les fichiers de votre choix.
Poster du code dans quelques minutes...

OriginalL'auteur user955289 | 2012-02-16