[VBA] Werte aus geschlossener Mappe kopieren

Moderator: ModerationP

[VBA] Werte aus geschlossener Mappe kopieren

Beitragvon chrissi0907 » 17. Mai 2018, 07:42

Hallo,

ich habe folgendes Problem.
Ich möchte in meiner PERSONAL.XLSB Datei Makros ablegen die ich immer wieder tag täglich benötige.
Diese Makros sollen aber aus einer "Master" Arbeitsmappe Zelleninhalte heraus kopieren.

Hier mal ein Beispiel des Makros:
Code: Alles auswählen
Sub Kein_Standard()
    Dim MyAddress As String
    MyAddress = Selection.Address
       
    Sheets("Vorlage").Select
    Range("C23:N23").Copy
   
    Sheets("Tab.1 ELEKTRIK").Select
    Range(MyAddress).Select
    ActiveSheet.Paste
    'Calculate
End Sub


In dem obigen Makro muss ich ja nun irgendwie sagen, wo die Arbeitsmappe liegt, dass er diese quasi kurz öffnet, den Bereich kopiert und dann wieder schließt. Natürlich sollte die Datei nicht geöffnet werden, sondern das soll im "stillen" passieren.

Wie kann ich dies realisieren? :roll:

Ich hoffe ich habe mich verständlich ausgedrückt :)

Viele Grüße
chrissi0907
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 03. Jan 2010, 13:06

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon Flotter Feger Gast » 17. Mai 2018, 08:41

Hallöchen,

du brauchst kein Makro, um Daten aus einer geschlossenen Datei zu holen ... da reicht eine Formel.

='C:\DeinPfad\[DeineDatei.xlsx]DeinTabellenblatt'!C23

Die Formeln kannst du auch per Makro schreiben lassen ... falls nötig.

VG Sabina
Flotter Feger Gast
 

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon chrissi0907 » 17. Mai 2018, 12:21

Hallo,

danke für die Antwort.

Ich möchte aber die Daten aus der "geschlossenen" Excel Tabelle via Tastenkombination einfügen. Denn ich kann in der zu Bearbeiteten Liste, nicht vorhersagen wo dies dann sein sollte etc.

Prinzipiell ist es eine Copy & Paste Funktion.
Die Makros haben eine Tastenkombination.

Ich habe mal ein Beispiel angehängt was ich machen möchte um dies eventuell deutlicher zu "sagen"/zeigen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
chrissi0907
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 03. Jan 2010, 13:06

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon HKindler » 17. Mai 2018, 16:21

Hi,

das widerspricht aber nicht der Lösungsmöglichkeit von Sabina:

Code: Alles auswählen
Sub Kein_Standard()
    Selection.Resize(1, 12).Formula = "='C:\DeinPfad\[DeineDatei.xlsx]DeinTabellenblatt'!C23"
    'Falls du nur die Werte übernehmen willst, dann noch folgende Zeile ausführen
    'Selection.Resize(1, 12).Formula = Selection.Resize(1, 12).Value
End Sub

.Resize(1, 12) wird hier verwendet, damit die Spalten C:N (=12 Spalten) angesprochen werden.
Gruß,
Helmut

----------------------------
Windows 8.1 (64 Bit) / Office 2013 (32 Bit)
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1981
Registriert: 04. Jul 2013, 09:02

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon chrissi0907 » 18. Mai 2018, 06:47

Hallo,

danke für die Antwort.

Das Problem ist, dass in den Zellen Formeln stehen. Diese Formeln übernimmt er jedoch nicht, sondern schreibt mir einfach eine "0" in der Zielmappe rein.
Wie kann ich die ändern?

Ich habe es nun auch mal mit diesem Code versucht (hier im Board gefunden), dort kann ich zumindest abfangen, dass die "0" geschrieben wird.
Aber ich möchte ja eigentlich die Formel übernehmen und nicht nur den Wert. Sprich ich muss den kompletten Inhalt/Formel kopieren.

Code: Alles auswählen
Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object

'** Angaben zur auszulesenden Zelle
pfad = "D:\"
datei = "Juds.xls"
blatt = "Vorlage"
Set bereich = Range("C23:N23")

'** Bereich auslesen
For Each zelle In bereich
 
  '** Zellen umwandeln
  zelle = zelle.Address(False, False)
 
  '** Eintragen in Bereich
  ActiveSheet.Cells(zelle.Row, zelle.Column).Value = GetValue(pfad, datei, blatt, zelle)
 
  If (ActiveSheet.Cells(zelle.Row, zelle.Column).Value = 0) Then
  ActiveSheet.Cells(zelle.Row, zelle.Column).Value = ""
  End If
 
Next zelle


Grüße
chrissi0907
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 03. Jan 2010, 13:06

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon HKindler » 18. Mai 2018, 10:18

Hi Chrissi,

kann es sein, dass du keine Ahnung hast, was du da tust? Dein Code strotzt nur so von "Fehlern" und logischen Brüchen. Daraus schließe ich, dass du die Zusammenhänge der einzelnen Excel-Objekte nicht verstanden hast.

Irgendwie sehe ich es nicht ein, dir hier einen fertigen Code zu liefern, den du selbst nicht pflegen kannst und dann wegen jeder kleinen Änderung wieder hier aufschlägst. Zumindest wirst du von mir keinen fertigen Code bekommen, solange mir nicht klar ist, was du eigentlich erreichen willst.

Was ich bisher verstanden habe:
Du hast in einer Datei in den Zellen C23:N23 Formeln stehen. Diese Formeln willst du im aktuellen Blatt stehen haben und zwar ab der selektierten Zelle. Sprich ist z.B. die Zelle D12 ausgewählt, dann sollen die Formeln in die Zellen D12:O:12. Ist es das, was du haben willst?
Wenn ja, sollen die Formeln auf die neuen Zeilen / Spalten angepasst werden oder nicht?
Ändert sich die Ausgangsdatei ab und zu, so dass in C23:N23 immer mal wieder andere Formeln stehen oder ist dem nicht so?
Wie lauten diese Formeln?
Gruß,
Helmut

----------------------------
Windows 8.1 (64 Bit) / Office 2013 (32 Bit)
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1981
Registriert: 04. Jul 2013, 09:02

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon slowboarder » 18. Mai 2018, 11:20

Hi

VBA kann nicht auf geschlossene Dateien zugreifen.
Ich würde die Datei schreibgeschützt öffnen und während dem ganzen Vorgang die Bildschirmaktualisierung ausschalten.

Code: Alles auswählen
Application.Screenupdating = False
Workbooks.Open Filename:= vollständiger Dateiname, readonly:=true
Hier dein Code zum kopieren
Workbooks("Dateiname").close false
Applications Screenupdating = True


Gruß Daniel
slowboarder
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 24038
Registriert: 18. Apr 2009, 13:33

Re: [VBA] Werte aus geschlossener Mappe kopieren

Beitragvon DerHoepp » 18. Mai 2018, 11:27

Hallo auch von mir,

ich würde im Sinne von Helmut einfach die Formel in die Zelle schreiben, statt die Formel aus einer anderen Datei zu kopieren:
Code: Alles auswählen
ZielZelle.FormulaR1C1 = "=""Ich kann es"" & CHOOSE(RANDBETWEEN(1,2),"""","" nicht"") & ""."""


Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6446
Registriert: 14. Mai 2013, 11:08


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste