#BEZUG bei "aktualisieren"
#1
Hey ho,

ich habe eine recht verschachtelte Exceldatei mit einem stumpfen Fehler:

Im Blatt 2 lese ich eine Text-Datei (*-dat) ein.
In Blatt 1 lese ich im wesentlichen 3 Spalten aus Blatt 2 ein (die z.T. gleich durcheinander geteilt werden) und rechne dann mit diesen Werten weiter.

Wenn ich nun über "alle aktualisieren" eine neue Datei einlese (die genauso aufgebaut ist wie die erste, aber u.U. mehr oder weniger Zeilen hat), bekomme ich in Blatt 1 einen Fehler (#Bezug!").
Wenn ich in Blatt 1 die "Zellen manuell nach unten ziehe" ist wieder alles gut...

Da die einzulesenden Dateien leider immer verschieden lang sind, habe ich die Tabelle in Blatt 1 so lang gemacht, dass sie auf jeden Fall größer ist als die Daten in Blatt 2. Leere (überzählige) Zellen werden dann einfach mit #NV aufgefüllt.

Gibt es einen Trick, wie ich dieses "#Bezug" los werde? Jedes mal die Tabelle "nachziehen" nervt und das "#Bezug" zerschießt mit die Datenauftragung im Diagramm... :s


Ich hoffe, mein Problem ist verständlich?!


Schon einmal herzlichen Dank,
karatebietz
Top
#2
(02.03.2017, 16:18)karatebietz schrieb: Ich hoffe, mein Problem ist verständlich?!

Nö, für mich nicht. Ohne Beispieldateien ist das schwierig.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#3
Hallo karatebiez,

wie liest du denn die Textdatei ein?

Die Fehlermeldung "#Bezug" erscheint, wenn die Zellen, aus der die Daten gesucht werden, nicht mehr vorhanden ist.
In deinem Fall wenn Zellen im Blatt2 gelöscht werden.

Du solltest beim Einlesen darauf achten, dass die Zellen aus dem letzten Lesevorgang nicht gelöscht, sondern nur überschrieben werden.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • karatebietz
Top
#4
Hallo ihr zwei,

erstmal Danke für eure Antworten.

Wie kann ich denn überschreiben und nicht löschen beim Dateneinlesen?


Ich habe mal ein Minimalbeispiel beigefügt.
Mein Problem ist: Ich lese "Datensatz_kurz.txt" ein und errechne Daten in "Rechnung" daraus. Da ich nicht genau weiß wie viele Zeilen in "Datensatz_kurz.txt" stehen, ist die Tabelle in "Rechnung" länger und wird mit #NV aufgefüllt.
Nun lese ich "Datensatz_lang.txt" über "alle aktualisieren" ein. Dabei "klaut" mir Excel aber Werte. Es werden nicht alle Zeilen aus "Daten" in "Rechnung" eingelesen...

Umgekehrt: Wenn ich erst "Datensatz_lang.txt" einlese und dann auf "Datensatz_kurz.txt" aktualisiere, steht plötz "#Bezug!" in "Rechnung"...

Kann ich etwa nur Daten einlesen, die immer gleich lang sind???



Dankeschön und viele Grüße,
Christian


Angehängte Dateien
.txt   Datensatz_lang.txt (Größe: 448 Bytes / Downloads: 5)
.txt   Datensatz_kurz.txt (Größe: 349 Bytes / Downloads: 5)
.xlsx   Bezugs-problem.xlsx (Größe: 11,98 KB / Downloads: 4)
Top
#5
Hallo Christian

Die Frage von Ego ("Wie liest du denn die Textdatei ein?") hast du noch nicht beantwortet.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#6
Hi,

ah Sorry.
Beim ersten Mal: Daten --> Aus Text (und dann einfach die Textdatei auswählen)
Danach: Daten --> Aktualisieren (und dabei die neue Datei auswählen)

Gibt es noch einen anderen Weg? Huh

Viele Grüße,
Christian
Top
#7
(03.03.2017, 09:32)karatebietz schrieb: Beim ersten Mal: Daten --> Aus Text (und dann einfach die Textdatei auswählen)
Du meinst Daten -> Externe Daten abrufen -> aus Text.
Wenn die Datei ausgewählt wurde kommt als nächstes der Textkonvertierungs-Assistent. Hast du da etwas an den Einstellungen geändert?
Danach kommt ein Dialog "Daten importieren". Welche Einstellungen hast du da vorgenommen?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • karatebietz
Top
#8
Hey shift-del,

Ja genau. In der Rubrik "Externe Daten abrufen" wähle ich "Aus Text" (Steht bei mir direkt da - deswegen hatte ich den Unterpunkt übersehen)

Dann wähle ich die Datei aus und ändere eigentlich nichts im Textkonvertierungs-Assistenten.
Heißt:
1. "Ursprünglicher Datentyp" - getrennt und Import beginnt mit Zeile 1 (Dateiursprung ist irgendwie "932 - Japanisch" gewählt, aber das hab ich einfach so gelassen. Sieht ja gut aus danach)
2.  Trennzeichen: Tabstopp. Alles andere ist abgewählt
3. Datenformat der Spalten: Standard

Dann "Fertig stellen".

Im nächsten Fenster hab ich auch die Voreinstellungen gelassen, heißt:
- Format, in dem die Daten in der Arbeitsmappe angezeigt werden sollen: "Tabelle" (kann ich auch nicht ändern)
- Wo sollen die Daten eingefügt werden? --> Bestehendes Arbeitsblatt (=$A$1)
- Unter Eigenschaften habe ich keine Änderungen vorgenommen. Ausgewählt ist hier "Zellen für neue Daten einfügen, nicht verwendete Zellen löschen". [Ist hier "Bestehende Zellinhalte überschreiben vielleicht besser"? - was wäre der Unterschied?]


Schon mal besten Dank für die total schnellen Rückmeldungen!
Christian
Top
#9
POTZBLITZ - der geht! :18:

mit "Bestehende Zellinhalte überschreiben" klappt es! Jetzt verstehe ich auch die Nachfrage von Ego :s
War mir nicht klar, dass das einen Unterschied macht... :16: 

Warum denn?


Vielleicht darf ich ncoh eine Frage nachschieben? Kann ich (ohne VBA) auch den Dateinamen der eingelesenen Daten in irgendeiner Zelle vermerken?


Tausend Dank!
Christian
Top
#10
Bei deiner Excel-Version würde ich auf die moderne Variante umschwenken:
Daten -> Abrufen und transformieren -> Aus Datei -> Aus Text
Und schon bist du im Query Editor.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste