Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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

eine Frage und ein Dank an Franz ;) Excelabsturz

eine Frage und ein Dank an Franz ;) Excelabsturz
28.04.2009 14:43:15
Jaffi
Hallo Forum,
hallo Franz
leider kann ich nicht mehr auf mein Archivbeitrag antworten deswegen mache ich einen neuen auf.
Ich war jetzt die letzten Stunden dabei zu testen was mir der Franz erstellt hat. Nur leider komme ich nicht richtig dazu.
Ab und zu wenn ich die *txt Datei importiere macht Excel nicht weiter. Der Import geht zwar. Ich gebe dann in C2 eine Zahl ein und er behält sie in der Zelle und springt einfach eine tiefer ohne irgendwas zu überprüfen ect.
Wie gesagt...nicht immer,...manchmal macht er ohne zu murren das was er soll (danke dafür schonmal Franz ;))
Aber machmal eben auch nicht...habe auch schon an einem anderen Rechner probiert...immer mal wieder das Problem das er nach dem Import nichts macht. Kann irgendjemand sagen was da nicht stimmt?
Mir viel auf, das das meistens dann passiert wenn ich die importierten Zellen markiere und die Inhalte mit entfernen lösche. Wenn ich dann die txt Datei neu importiere geht es erst wieder wenn ich Excel neu gestartet habe!! * hm..nun versteh ich garnichts mehr... übersehe ich einen Fakt beim Thema import manuell rauslöschen?
Anbei nochmal der Code für den Dateiimport:

Sub texteinfuegen()
Dim varTextDatei
Dim strPfadAkt As String, rngEinfuegZelle As Range
strPfadAkt = CurDir 'Aktives Verzeichnis merken
'ChDir "Macintosh HD:Benutzer:Für alle Benutzer" 'Verzeichnis mit Textdateien
varTextDatei = Application.GetOpenFilename(Title:="Bitte Textdatei mit Daten auswählen und ö   _
_
_
_
ffnen")
If (varTextDatei = False) Or (InStr(LCase(varTextDatei), "etik") = 0) Then
MsgBox "                    Import der Datei nicht möglich." & vbLf _
& vbLf & "                Bitte wähle eine gültige Etikettendatei !"
Exit Sub
End If
'Einfügezelle ermitteln
With ActiveSheet
If .Cells(.Rows.Count, 1).End(xlUp).Row >= 5 Then
Set rngEinfuegZelle = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Else
Set rngEinfuegZelle = .Range("A5")
End If
End With
'Querrydaten holen
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & varTextDatei, Destination:=rngEinfuegZelle)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlMacintosh
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.Refresh BackgroundQuery:=False
.UseListObject = False
End With
VBA.ChDir strPfadAkt 'aktuelles Verzeichnis zurücksetzen
End Sub


P.S. Franz, die Grundvorraussetzung für den Antrag ist selbstverständlich gegeben ;o)
LG
J

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

Betreff
Datum
Anwender
Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabsturz
28.04.2009 16:28:29
fcs
Hallo Jaffi,
die Querries bauen ja Daten-Links auf, die ggf. noch bestehen bleiben und stören können. Erst nach dem Schließen von Dateien bzw. Beenden von Excel werden diese wieder geschlossen.
Mögliche Auswege:
1. Datenverbindung nach jeder Querry für das laden einer Text-Datei schließen.

.UseListObject = False
.MaintainConnection = False
End With

Funktioniert aber nur mit bestimmten Typen von Datenverbindungen
2. Etwas gründlicher Daten und Querries löschen


Sub QuerriesDatenLoeschen()
Dim wks As Worksheet
Dim objQuerry As QueryTable
Set wks = Worksheets("Wareneingang")
'Querries löschen
For Each objQuerry In wks.QueryTables
objQuerry.Delete
Next
'Daten löschen
With wks
If .Cells(.Rows.Count, 1).End(xlUp).Row >= 5 Then
.Range(.Cells(5, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 7)).ClearContents
End If
End With
End Sub


Gruß
Franz

Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabsturz
29.04.2009 09:12:43
Jaffi
Hallo Franz,
habe Ausweg 2 in meinen Resetbutton gepackt. Löscht alles raus. Danach ist weiterhin keine Auswertung der eingegebenen Zahl zu erkennen. Sie bleibt nach Enter weiter in C2 und und die Zelle darunter wird aktiviert.
Sprich: Nichts geht mehr :(

.MaintainConnection = False


Habe ich in die Abfrage gepackt. Dann gibts nach dem Dateiimport einen Laufzeitfehler `438` Nichts in Goggle nichts in der VBA-Hilfe ... *schmoll* ich gebe bald auf und mache doch weiter alles per Hand...was ist das nur :(
Mit den anderen Proceduren kann es doch nicht zusammenhängen oder? Die werden doch nachdem ich die Zelle( ob Manuell oder jetzt per "Reset"-Knopf ) noch garnicht gestartet oder? Sie arbeiten ja richtig...aber wehe ich lösche (Entf.) etwas aus `Wareneingang´ raus.. Dann stillstand
Ratlos ist..
Trotzdem noch ein Danke an Dich Franz ;o)
lg
J

Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabsturz
29.04.2009 13:10:23
fcs
Hallo Jaffi,
hier mal meine Testdatei, die unter Excel-Windows funktioniert. Die MAC-Zeilen sind als Kommentare drin.
Ich hab die Texteinfügen-Funktion nochmals ein wenig angepasst.
Da war noch ein kleiner Fehler drin, weshalb das Verzeichnis in der Dateiauswahl nicht korrekt angezeigt wurde.
VBA.ChDrive muss VBA.ChDir sein.
Zusätzlich wird die Querry-Information unmittelbar nach dem Import wieder entfernt, so dass nur noch Daten ohne Link zur Quelle im Blatt stehen.
Gruß
Franz
https://www.herber.de/bbs/user/61498.xls
Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabsturz
30.04.2009 16:22:34
Jaffi
Hallo Franz,
traumhaft ;) Jetzt funktioniert es soweit Tadellos !!
NUR :/ jetzt habe ich folgendes Problem. Ich habe KEINE wirkliche Ahnung mehr was deine Tabelle macht ;o)
Jetzt sieht es noch komplizierter aus wie mein vorangegangenes gebastel. Habe Deine Tabelle jetzt 1:1 übernommen und alles ist gut. Logisch...Du bist halt der Profi ;o)
Aber was genau macht jetzt das ModTool?
Es sind nämlich NATÜRLICH neue Probleme hinzugekommen
Ich habe nun rausbekommen, das ich die Bestellungen in unserem Warenwirtschaftssystem DOCH als Txt-Datei ausgeben kann. Ich müsste das Blatt "Bestellungen" sozusagen nicht manuell befüllen.
Die Datei heist immer best.txt Diese möchte ich nun natürlich ebenfalls per Knopfdruck importieren. Nen Makro will ich ehrlich gesagt nicht aufzeichen da es vorprogramiert ist das das nicht funktioniert. Habe schon seid gestern versucht Deine Abfrage anzupassen, aber es klappt einfach nicht :(
Die Datei best.txt ist leider anders aufgebaut als die etik****.txt.
Die Spalten werden mit Tabstop UND Semikolon getrennt. Es existieren bei einem Standardimport in Excel die Spalten A-L. Benötigen tue ich davon aber nur die Spalte B+C+F+H+K+L
Der Import soll die Spaltenbreite NICHT verändern und nach dem Import sollte gleich ein Ausdruck erfolgen.
Am besten mit vorheriger Abfrage des Druckers. Ausgabe am voreingestellten Standard-Drucker würde aber auch reichen.
Der Resetknopf (modQuerris) sollte dann natürlich AUCH alles zuvor importierte aus dem Blatt "Bestellungen" rauslöschen. Die Prüfspalte C im Blatt "Sicherung" auch.
Sorry Franz das ich Dich mit meinem Problem belagere. Aber wir kommen hier jetzt in Bereichen von VBA an, wo ich wirklich den Faden verloren hab. wie gesagt ich weis FAST nicht mehr was die einzelnen Mods von dir machen daher ist ein anpassen meinerseits fast unmöglich! Nur die Anpassung der Abfragen "gemeldet u. "gesichert" bekomme ich selbst hin. Das klappte auch schon ;o)
Alles was ich weis ist das deine Tabelle bis dato 1000mal besser funzt als meine anhand deiner Tips zusammengebastelte ;o)
Danke Franz, solltest Du dich wirklich nochmals durchringen um mir zu helfen
Wenn nicht verstehe ich das natürlich und Danke trotzdem für Deine Hilfe bis hier hin!!!
Viele Grüsse und ein schönes Maiwochende..
P.S: Ich werde vor Excel und diesem Forum sitzen und auf Hilfe warten!!
lg
J.
Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabsturz
30.04.2009 18:13:35
fcs
Hallo Jaffi,
die Prozeduren im Modul modTools haben nichts mit den Funktionen zu tun.
Sie sind hilfreich, wenn man an den Tabellen "bastelt" oder nach einem Makro-Absturz.
Mit diesen Makros kannst du die Ereignismakros vorübergehend deaktivieren und wieder aktivieren, da es nervig ist wenn Makros unerwünscht automatisch starten, wenn man Änderungen an den Tabellen macht.
Für die Datei best.txt sollte die Abfrage eigentlich mit Aufzeichnung funktionieren, da sich der Name ja nie ändert.
Das Problem ist hier wahrscheinlich die Kombination von TAB und ; als Trennzeichen.
Was meine Module machen:
modTexteinfügen :Mit dieser Prozedur wird das Blatt Bestellungen mit Daten gefüllt.
modWareneingang: Diese Prozedur wird gestarte wenn du in C2 einen Wert eingibst.
modQuerries: die Prozedur hier setzt das Blatt Bestellungen zurück.
Alles weitere frühestens am Montag.
Jetzt ist langes Wochendende
Gruß
Franz
Anzeige
AW: eine Frage und ein Dank an Franz ;) Excelabstu
30.04.2009 18:30:46
jaffi
Ok Franz,
dann werde ich versuchen es aufzuzeichnen. Hatte nur gedacht, das es dann wieder Probleme gibt die Verbindung zu löschen bzw. zu trennen. Mein erster Gedanke war auch: Datei ändert sich nicht, also aufzeichnen wird gehen und einfach ein Druckbefehl reinbasteln.
Werd es einfach mal versuchen und schauen was passiert. Aber Montag reicht mir auch völlig Franz.
Wünsche Dir ein wunderschönes und sonniges Wochenende und hoffe bald wieder von Dir zu lesen ;)
lg
J

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige