Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

beim import gehen verweise verloren

beim import gehen verweise verloren
26.04.2016 18:56:50
Andi
Hallo,
habe ein Macro von diesem Forum das ihr schon sicher zu genüge kennt.
Es funktioniert auch sehr gut nur?
1. möchte ich das diese Liste in eine Tabelle konvertiert wird mit einen Namen oder die bestehende Tabelle nicht überschrieben wird.
2. sollen die Formatierungen der Quelldatei übernommen werden (bedingte Formatierung).
3. habe ich in einer zweiten Tabelle der Arbeitsmappe, wo ich die Listen importiere Verweise auf die Importierte Liste, da sind alle bezüge dann weg, die müsste ich immer nachtäglich nacharbeiten.
Wie kann man das vermeiden?
Währe super wenn einer von euch eine Idee hätte.
Vielen Dank im vorraus!!
Andi
Der Code:

Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from   _
_
closed Workbook"
GetDataClosedWB = False
End Function
Public Sub Importieren()
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Dim letzte          As Integer
letzte = Cells(Rows.Count, 1).End(xlUp).Row
Pfad = "C:\Users\master\Documents\DatenHolen\"
Dateiname = "Quelle.xlsx" ' aus welcher Datei soll er holen?
Blatt = "Artikel"  ' von welcher Tabelle soll er holen?
Bereich = "A1:H3" & letzte ' aus welchem Bereich soll er holen?
Set Ziel = tabArtikel.Range("A1")  ' in welchen Bereich soll er kopieren? Genauer gesagt:   _
_
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
tabArtikel.Select
tabArtikel.ListObjects.Add(xlSrcRange, Range("$A$1:$H$" & letzte), , xlYes).Name = _
"tblArtikel"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: beim import gehen verweise verloren
27.04.2016 09:31:25
fcs
Hallo Andi,
1. möchte ich das diese Liste in eine Tabelle konvertiert wird mit einen Namen oder die bestehende Tabelle nicht überschrieben wird.
In dem Tabellenblatt tblArtikel muss dann einmalig die Tabelle angelegt werden.
Vor dem im Import der Daten müssen die Daten (nicht die Überschrift!!) in der Tabelle gelöscht werden - nur die Daten!!!! Dabei bleibt dann die Tabelle als solche erhalten.
Nach dem Import der Daten darf dann nur die Grösse der Tabelle angepasst werden entsprechend der Anzahl importierter Zeilen - nicht eine neue Tabelle mit Listobjects.Add.... angelegt werden!!!
2. sollen die Formatierungen der Quelldatei übernommen werden (bedingte Formatierung).
Hier kannst du nur die bedingten Formatierungen neu generieren. Für das Übernehmen/kopieren der bedingten Formatierungen aus der Quelle müsste die Quel-Datei geöffnet werden.
3. habe ich in einer zweiten Tabelle der Arbeitsmappe, wo ich die Listen importiere Verweise auf die Importierte Liste, da sind alle bezüge dann weg, die müsste ich immer nachtäglich nacharbeiten.
Wie kann man das vermeiden?

Wenn der Import ausgeführt wird wie in 1. beschrieben, dann sollten die Verweise weiter funktionieren.
Das hängt aber ein wenig davon ab wie die Formeln aufgebaut sind.
Für weitere Unterstützng wäre es Hilfreich, wenn du in einer Zip-Datei eine Quelldatei (Daten anonymisiert) und eine Zieldatei hochladen würdest. Zum Testen reichen Beispieldateien mit wenigen Datenzeilen(ca. 5).
Gruß
Franz

Anzeige
AW: beim import gehen verweise verloren
27.04.2016 18:29:41
Andi
Hallo Franz,
habe die zwei Datein in ein ZIP Datei komprmiert.
Bei Zellbezüge und Bereichsnamen bleiben die Bezüge nach Import erhalten, nur möchte ich es gerne als Tabelle konvertieren und mit Tabellennamen arbeiten, da werden alle Bezüge entfernt und die Tabellenkonvertierung ist auch wieder eine einfach Liste.
Danke nochmals fürs drüberschauen.
Gruß
Andi
https://www.herber.de/bbs/user/105299.zip

AW: Import von Daten per Formel in Tabelle
28.04.2016 23:20:33
Daten
Hallo Andi,
das war jetzt komplizierter als erwartet.
Wenn man die Titelzeilen der Tabelle im Importblatt per Makro mit den Formeln überschreibt, dann geht sofort die Tabellen-Eigenschaft verloren.
Deshalb musste ich einige Klimzüge machen, damit der Import funktioniert.
Alle Daten aus der Quelle werden zunächst unterhalb der Titelzeile der Tabelle eingefügt und dann wird das ganze repariert.
Der Import funktioniert auch dann, wenn sich in der Quelle die Anzahl der Zeilen oder Spalten ändert.
Dazu wird im Makro per Formel in der Quelle die Anzahl der Zeilen mit Inhalt in Spalte A ermittelt und die Anzahl der Spalten mitInhalt in Zeile 1.
Leere Zellen dürfen dann natürlich in der Quelle nur nach der letzten Datenzeile in Spalte A und der letzten Datenspalte in Zeile 1 vorkommen.
Ob die bedingte Formatierung in der gewünschten Form funktioniert kann ich nicht zu 100% sagen.
Ich hab mal versucht, die in der Quelle vorhandene Formatierung im Makro nachzubauen.
Damit die Datei klein bleibt hab ich in der Importdatei die meisten Datenzeilen im Blatt "Artikel" gelöscht.
Die angepassten Makros findest du im Modul "ModulImpoertNeu".
Das hier vorhandenen Makro "Importieren" wird jetzt auch beim Öffnen der Datei gestartet. Dazu hab ich das Makro uner "DieseArbeitsmappe" angepasst.
https://www.herber.de/bbs/user/105330.xlsm
Gruß
Franz

Anzeige
AW: Farbindex erweitern
29.04.2016 20:08:22
Andi
Hallo Franz,
ich möcht mich ganz herzlich bei Dir bedanken, ist ja Super und habe es auch gleich getestet.Funktioniert!
War doch ein ganz schöner Aufwand, nochmals vielen Dank und an das Super Forum hier.
Noch ein Frage?
wenn ich eine zweite Farbe z.B. blau brauche, wie kann ich das in dem Code erweitern, ich habe einfach die With Funkion kopiert und einen Farbindex 5 für Blau eingetragen das geht aber nicht!
Wenn ich da noch einen Lösung von dir bekommen könnte, währe SUPER!!
sFormula = "=$" & Chr(.ListObjects(1).DataBodyRange.Columns.Count + 64) & "2 = ""Blau"""
With .ListObjects(1).DataBodyRange
.FormatConditions.Delete
.Select
.FormatConditions.Add Type:=xlExpression, Formula1:=sFormula
Set objFC = .FormatConditions(1)
With objFC
.Font.Bold = True
.Font.ColorIndex = 5 'blau
End With
End With
Danke im Vorraus
Gruß
Andi

Anzeige
AW: Farbindex erweitern
29.04.2016 20:34:06
fcs
Hallo Andi,
bei mehreren bedingten Formatierungen für den gleichenZellbereich ab Zeiel 2 sieht es wie folg aus.
Die vorhandenen bedingten Formatierungen dürfen natürlich nur einmal gelöscht werden.
Gruß
Franz
                    'Bedingte Formatierung neu einfügen
With .ListObjects(1).DataBodyRange
.FormatConditions.Delete
.Select
'1.bedingte Formatierung
sFormula = "=$" & Chr(.Columns.Count + 64) & "2 = ""rot"""
.FormatConditions.Add Type:=xlExpression, Formula1:=sFormula
Set objFC = .FormatConditions(1)
With objFC
.Font.Bold = True
.Font.ColorIndex = 3 'rot
End With
'2.bedingte Formatierung
sFormula = "=$" & Chr(.Columns.Count + 64) & "2 = ""blau"""
.FormatConditions.Add Type:=xlExpression, Formula1:=sFormula
Set objFC = .FormatConditions(2)
With objFC
.Font.Bold = True
.Font.ColorIndex = 5 'blau
End With
End With

Anzeige
AW: SUPER Vielen Dank Franz!
29.04.2016 21:48:46
Andi
Hallo Franz,
SUPER vielen Dank nochmals.
Gruß
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige