Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  Zellen aus Excel Datei kopieren, ohne diese zu Öffnen
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 08:48 Nach oben

Hallo,

ist es möglich Zellen aus einer Exceldatei in eine andere zu kopiern, ohne dass die Quelle aktiv geöffnet wird, d.h. das die Datei für einen User sichtbar geöffnet wird, sondern nur im Hintergrund bzw. sich Excel die Daten einfach aus der Tabelle holt.


Derzeit öffnet mir Excel die zweite Exceldatei, aktiviert dann die Tabelle und das Blatt kopiert dann die Zellen über die Zwischenablage und fügt sie in die zweite Exceldatei ein.

Ganz am Ende schließt er die Datenquelle wieder.

Leider springt er dann wie wild in der Windowstaksleiste zwischen den beiden offenen Tabellen hin und her.

Kann mir einer vielleicht sagen, wieso dieser Code nicht funktiniert:

Dim intRow As Integer 'Zeilenvariable deklarieren
intRow = 2 'Zeilenvariable initialisieren
Dim intRow2 As Integer
intRow2 = intRow + 8
Dim Kopie As Range ' Variable vom Typ Range deklarieren
Set Kopie = Workbooks("index.xls").Worksheets("Sheet1").Range(Cells(intRow, 1), Cells(intRow, 1)) 'Kopie eine Zelle aus der Datei "index.xls, sheet1 zuweisen (Spalte 1, Laufindex der Zeile intRow
Do Until IsEmpty(Kopie) 'Schleife solange ablaufen lassen, bis Kopie leer
Kopie.Copy 'Kopie kopieren
Range(Cells(intRow2, 1), Cells(intRow2, 1)).Select 'Zelle in meiner aktuellen Tabelle, meinem aktuellen Blatt markieren
Kopie.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False ' Kope in diese selektierte Zelle einfügen
intRow = intRow + 1
intRow2 = intRow2 + 1
Loop


hab grad gesehen, mein problem ist workbooks, weil das sind von excel schon geöffnete datein.

wie kann ich sonst eine datei im hintergrund öffnen?
Benutzer-Profile anzeigenPrivate Nachricht senden
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 10:41 Nach oben

ich komm leider nicht weiter,

dieser code funktioniert überhaupt nicht, obwohl er irgendwie logisch ist:

Dim Kopie As Range
Kopie = [D:\index.xls]geometrie_size!Cells(intRow, 1)


Er soll einfach in die Variable Kopie einze zelle aus index.xls kopieren.

direkt in exel funktioniert der code, wenn ich ihn in eine zelle schreib und statt cells() halt A5 oder so, aber wieso geht das nicht in VBA?
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 16.11.2007, 11:14 Nach oben

Hallo!

Um Daten aus geschlossenen Dateien zu holen, kannst du das alte ExecuteExcel4Macro verwenden:
Code:
For intRow = 1 To 4
Cells(intRow, 5) = ExecuteExcel4Macro("'E:\Test\[test1.xls]Tabelle2'!" & _
Cells(intRow, 2).Address(ReferenceStyle:=xlR1C1))
Next intRow

Schreibt die Einträge aus B1:B4 der angegebenen Datei in E1:E4.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 12:16 Nach oben

davon hab ich zwar scho mal was gehört, aber brauch ich diesen code einfach so schreiben, oder muss ich da irgenwelche bibliotheken noch einbinden?
Benutzer-Profile anzeigenPrivate Nachricht senden
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 12:21 Nach oben

ahh sehe es geht so, wie kann ich jetzt eine bestimmte zelle referenzieren, weil das stimmt ja mit spalten und zeilen nicht überein wie excel sie anzeigt
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 16.11.2007, 12:22 Nach oben

Ich wüsste nicht, dass dafür irgendwelche Extra-Verweise nötig wären.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 12:26 Nach oben

jetzt hab ich aber das problem, dass ich nicht abfragen kann, ob das zu kopiernde objekt leer ist.

sorry ich brauch etwas komplizierteres:

ich möchte gleichzeitig beim kopieren noch prüfungen, ob da was drin steht oder nicht und wenn nichts drin steht erfolgt abbruch.

ich bette das ganze also in eine schleife do until loop aber da muss ich halt ein abbruchkriterium haben und das liefert mir diese funktion nicht.

und da ich net versteh, was das ganze da soll mit den & etc, das liefert wohl adressen oder sowas, kann ich da auch nix basteln, welches mir abfragt ob in den zellen was drin stand oder nicht.

kann man das ganze net irgendwie mit getobject machen?
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 16.11.2007, 12:28 Nach oben

An Zellen kommst du entweder mit

Cells(Zeile, Spalte), z.B. Cells(5, 7)
oder
Range("G5")

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
Wandiii
Besserwisser
Besserwisser


Anmeldedatum: 14.11.2007
Beiträge: 57

BeitragVerfasst am: 16.11.2007, 12:29 Nach oben

ich brauch eigentlich nur einwas:

ich möchte diese datei "index.xls" im hintergrund öffnen, so das sie nicht in der taskleiste auftaucht.

also dieser code funktioniert nur er poppt halt sichen den beiden offenen excel datein hin und her und wenn ich dann da reinklick mit der maus, gehen 1000 andere programme auf und der pc stürzt halb ab

Sub oeffnen()
Workbooks("PCB_Area_Estimation.xls").Worksheets("Sheet1").Activate
Range(Cells(12, 1), Cells(3000, 1)).Select
Selection.Clear
Dim intRow As Integer
intRow = 2
intRow2 = intRow + 8
Workbooks.Open Filename:="D:\index.xls"
Workbooks("Index.xls").Worksheets("geometrie_size").Activate
Range(Cells(intRow, 1), Cells(intRow, 1)).Select
Do Until IsEmpty(Cells(intRow, 1))

Range(Cells(intRow, 1), Cells(intRow, 1)).Select
Selection.Copy
Workbooks("PCB_Area_Estimation.xls").Worksheets("Sheet1").Activate
Range(Cells(intRow2, 1), Cells(intRow2, 1)).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
intRow = intRow + 1
intRow2 = intRow2 + 1
Workbooks("Index.xls").Worksheets("geometrie_size").Activate
Loop
End Sub
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Bereiche kopieren Talisker Microsoft Excel Hilfe 5 01.12.2008, 12:34 Letzten Beitrag anzeigen
Keine neuen Beiträge Vista, rtfhtml.dll datei fehlt, outlo... Peter Marchert Microsoft Outlook Hilfe 5 30.11.2008, 19:43 Letzten Beitrag anzeigen
Keine neuen Beiträge Zellen formatieren rudolf.resch Microsoft Excel Hilfe 2 30.11.2008, 17:32 Letzten Beitrag anzeigen
Keine neuen Beiträge Benötige Hilfe bei einem Excel-Diagramm justintime Microsoft Excel Hilfe 1 28.11.2008, 18:05 Letzten Beitrag anzeigen
Keine neuen Beiträge Zellen Inhalt Automatisch in ein ande... Serdal Microsoft Excel Hilfe 1 28.11.2008, 00:42 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de