2016-08-31 2 views
0

Ich habe mit einem Problem bei der Arbeit zu kämpfen, an dem ich ziemlich viel geforscht habe. Ich bin ziemlich neu VBA/Codierung im Allgemeinen, also bitte bare mit mir.Daten aus anderen Arbeitsmappen zu einer Arbeitsmappe zusammenführen

Aktuelle Situation: Ich konsolidiere ein Datenpaket, das mehrere Eingaben von Programmen erhält, die in meins rollen. Im Wesentlichen stellt jedes Programm mir ihre Daten zur Verfügung und ich bin verantwortlich für die genaue Konsolidierung von Daten in einer Excel-Arbeitsmappe in einem bestimmten Format. Ich habe eine Vorlage herausgeschoben, so dass alle Daten im selben Format zurückkommen, aber jetzt habe ich Probleme, neben der Verwendung von "Kopieren und Einfügen" schnell zu konsolidieren.

Lösungen, die ich untersucht habe: Ich habe in Verbindungen untersucht, um zu sehen, ob die Daten, die ich brauche, durch eine verbundene Datei ziehen, aber es importiert die Tabelle in einem anderen Format und nicht korrekt in die übertragen Konsolidierungsvorlage, die ich eingerichtet habe. Ich habe versucht, externe Quellenreferenzierung durchzuführen, um Daten auf diese Weise einzuziehen, aber wieder ist die Formatierung deaktiviert. Ich weiß, dass es Möglichkeiten gibt, die Arbeitsmappe einfach einzubinden, aber ich brauche Daten von bestimmten Punkten in diesen Programmarbeitsmappen, die ich in meine konsolidierte Arbeitsmappe einfügen kann. In den meisten Fällen würde Kopieren und Einfügen funktionieren, aber ich habe über Hunderte von Programmen, die in dieses Datenblatt fließen, so dass jede Hilfe geschätzt werden würde!

+2

Willkommen bei Stackoverflow. Bitte beachten Sie, dass dies kein kostenloser Code-Schreibservice ist. Dennoch sind wir bestrebt, anderen Programmierern (und Aspiranten) dabei zu helfen, ihren eigenen Code zu schreiben. Bitte lesen Sie die Hilfethemen zu [Wie stelle ich eine gute Frage] (http://stackoverflow.com/help/how-to-ask). Sie können auch [die Tour] (http://stackoverflow.com/tour) nehmen und dabei ein Abzeichen erwerben. Danach aktualisieren Sie bitte Ihre Frage mit dem VBA-Code, den Sie bisher geschrieben haben, um die Aufgaben zu erledigen, die Sie erreichen möchten. Vielleicht möchten Sie uns auch eine spezifische Frage stellen, auf die Sie eine Antwort erwarten. – Ralph

+0

Der erste Gedanke wäre, Ihren Prozess in Schritte zu zerlegen und jeden Schritt zum Laufen zu bringen. Während du dich durchkämst, posten Sie Fragen hier, um Hilfe zu bekommen, damit die Dinge funktionieren. Es kann einige Zeit dauern zu lernen, wie man alles macht, was man tun muss, aber das ist Codierung, denke ich. Mein Gedanke ist, dass Sie jede Arbeitsmappe durchlaufen und öffnen, die notwendigen Daten eingeben sollten (Kopieren/Einfügen hat eine Menge Overhead, also empfehlen Sie einen anderen Ansatz), dann schließen Sie es und gehen Sie zum nächsten. – Kyle

+1

@Kyle Zuerst wollte ich einen Kommentar wie deinen schreiben. Aber dann dachte ich, dass es zu viele Optionen (und Routen) gibt, um diese Frage zu beantworten. Es ist einfach zu weit gefasst, um es zu beantworten: sollte es mit Formeln und einfachen 'VLookUps' oder mit VBA gemacht werden? Wenn VBA, sollte es einfach 'Workbook.Open' und dann' .Copy' und '.Paste' sein? Sollte es mit 'ADO' importiert werden? Ist ein zentrales SQL eine Option? Ich glaube, dass das OP etwas mehr Forschung betreiben muss oder (noch besser) mit jemandem chatten muss, um herauszufinden, was er/sie will: http://chat.stackexchange.com/rooms/info/21/the-whiteboard – Ralph

Antwort

1

Wie wäre es, den Zielbereich auf die Werte des Quellenbereichs einzustellen? z.B .:

rngTarget.Resize(rngSource.Rows.Count, rngSource.Columns.Count).Value = rngSource.Value 
Verwandte Themen