Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei wächst wegen Formeln

Datei wächst wegen Formeln
02.06.2007 23:48:00
mehmet
Hallo Forum,
ich habe ein Makro aufgezeichnet

Sub Makro2()
'gehe zu Tab1
Sheets("Tab1").Select
'Formle
Range("C1").Select: ActiveCell.FormulaR1C1 = "=IF((LEFT(RC[-2],9))="" .mehmet"",""ja"","""")"
Range("D1").Select: ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""ja"",R[1]C[-3],"""")"
Range("E1").Select: ActiveCell.FormulaR1C1 = "=IF(RC[-2]=""ja"",R[2]C[-4],"""")"
Range("F1").Select: ActiveCell.FormulaR1C1 = "=IF(RC[-3]=""ja"",R[3]C[-5],"""")"
Range("G1").Select: ActiveCell.FormulaR1C1 = "=IF(RC[-4]=""ja"",R[4]C[-6],"""")"
Range("H1").Select: ActiveCell.FormulaR1C1 = "=IF(RC[-5]=""ja"",R[5]C[-7],"""")"
'Markiere und ziehe runter
Range("C1:H1").Select: Selection.AutoFill Destination:=Range("C1:H65536"), Type:=xlFillDefault
'Range("C1:H130").Select
'gehe wieder nach oben
Range("C1").Select
End Sub


Am Anfang war die Datei 500kb. Wenn ich diesen Makro ausführe, wird die Datei 20mb gross.
Kann man diese Lösung nicht statt Formel direkt als Wert ausgeben lassen. Ich denke, dass die Datei danach nicht 20mb gross sein wird.
Dank und Gruss
mehmet

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei wächst wegen Formeln
02.06.2007 23:52:54
Matthias
Hallo Mehmet,
brauchst du wirklich alle 65000 Zeilen?
Gruß Matthias

AW: Datei wächst wegen Formeln
02.06.2007 23:56:50
mehmet
Hallo Matthias,
herzlichen Dank für deine Meldung. Ja, denn die Werte Beziehen sich auf eine Importierte Textdatei in Spalte A, die sich jedesmal nach der länge ändert.
Gruss
mehmet

AW: Datei wächst wegen Formeln
02.06.2007 23:59:00
Matthias
Hallo Mehmet,
aber dann kann man doch die Formeln nach dem Importieren einsetzen, wenn man weiß, wie lange die Spalte A geworden ist.
Gruß Matthias

AW: Datei wächst wegen Formeln
03.06.2007 00:05:00
mehmet
Die Datei wird alle 2 Minuten (spätestens) aktualisiert.
Ich dachte, dass man man es mit einer If Schleife eleganter lösen könnte mit Value statt Verwiese. Die Datei müsste dann nicht auf 20mb (und grösser) anwachsen.
Gruss
mehmet

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 00:07:00
Matthias
Hallo Mehmet,
sie muss auch mit Formeln nicht auf 20MB anwachsen, wenn du nur da die Formeln einsetzt, wo in Spalte A auch Werte stehen - es sei denn, du hast wirklich 65000 Werte.
Wie wird die Datei denn aktualisiert?
Gruß Matthias

AW: Datei wächst wegen Formeln
03.06.2007 00:11:14
mehmet
In Spalte A1:A65536 kann viele viele male .mehmet vorkommen. Wenn dies der Fall sein sollte, dann soll von Splate C bis H (Zeile von .mehmet) die Formeln eingesetzt werden.
Gruss
mehmet

AW: Datei wächst wegen Formeln
03.06.2007 00:12:00
Matthias
Hi,
meine Frage war:
Wie wird die Datei denn aktualisiert? Wenn es über ein Makro geht, kann man ja hier eingreifen.
Gruß Matthias

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 00:18:17
mehmet
Ja, es wird eingelsen. Eine Text Datei. Ich habe mit Makro so aufgezeichnet:

Sub Text_Einlesen_1()
Sheets("tab1").Select: Cells.Select: Selection.delete Shift:=xlUp: Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Dokumente und Einstellungen\Mehmet\Desktop\14may07.txt", _
Destination:=Range("A1"))
.Name = ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2)
.Refresh BackgroundQuery:=False
End With
Cells.Select: Selection.ClearFormats: Range("A1").Select 'Formate löschen wegen Dateigrösse
End Sub


Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 00:41:58
Matthias
Hallo Mehmet,

Sub Text_Einlesen_1()
Sheets("tab1").Select
Cells.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Dokumente und Einstellungen\Mehmet\Desktop\14may07.txt", _
Destination:=Range("A1"))
.Name = ""
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2)
.Refresh BackgroundQuery:=False
End With
Cells.ClearFormats: Range("A1").Select 'Formate löschen wegen Dateigrösse '


Gruß Matthias

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 08:07:50
mehmet
Hallo Matthias,
super, es lauft. Dank dir.
Gruss
mehmet

AW: Datei wächst wegen Formeln
03.06.2007 20:53:22
mehmet
Hallo Matthias,
könntest du mir bitte nochmal diesbzgl. helfen.
Der nachfolgende Makro läuft sehr lange. Gibt es eine möglichkeit, den Arbeitsprozes zu beschleunigen.

Sub Text_Backup_3_Leere_C_Spalten_Loeschen()
Dim i As Long
Application.ScreenUpdating = False
'For i = 65536 To 1 Step -1
For i = 30000 To 1 Step -1
If Cells(i, 3).Value  "ja" Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub


Dank und Gruss
mehmet

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 21:20:00
Matthias
Hallo Mehmet,
fange erst in der letzten beschriebenen Zelle von Spalte C an:

Sub Text_Backup_3_Leere_C_Spalten_Loeschen()
Const sp = 3 'ab letzter nichtleerer Zelle in Spalte [sp]
Dim i As Long
Dim lz As Long
lz = Rows.Count
If Cells(lz, sp) = "" Then lz = Cells(Rows.Count, sp).End(xlUp).Row
Application.ScreenUpdating = False
For i = lz To 1 Step -1
If Cells(i, 3).Value  "ja" Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub


evtl. musst du statt Spalte C auch Spalte A untersuchen, also Const sp=1 setzen.
Gruß Matthias

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 22:02:00
mehmet
Matthias, du bist super.
Dauert zwar lang aber es läuft.
Könnte man den prozess beschleunigen?
Ich dachte so:
setze ein Abbruchbedingung in Spalte C den Wert "Ende"
setze den Wert "Ende" wenn der letzte "ja" unterhalb 100'te Zeile kein "ja" mehr hat.
Könnte dies die Sache noch beschleunigen?
Dank dir und herzliche Grüsse
mehmet

AW: Datei wächst wegen Formeln
03.06.2007 23:04:00
Matthias
Hallo Mehmet,
erster Versuch:

Sub test()
Dim r1 As Range, r2 As Range
Dim x As Long, z1 As Long, z2 As Long
Set r1 = Range("C:C").Find(After:=Range("C1"), What:="ja", LookIn:=xlValues, LookAt:=xlWhole,  _
Searchdirection:=xlPrevious)
If r1 Is Nothing Then Exit Sub
x = r1.Row
Do
Set r2 = Range("C:C").Find(After:=r1, What:="ja", LookIn:=xlValues, LookAt:=xlWhole,  _
Searchdirection:=xlPrevious)
If r2.Row = x Then Exit Do
z1 = r2.Row + 1: z2 = r1.Row - 1
Debug.Print z1, z2
If z1  2
End Sub


Gruß Matthias

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 23:21:57
mehmet
passiert leider nichts.
Ich habe mal mit F8 versucht das ganze schrittweise zu verfolgen.
Es wird nicht gelöscht obwohl im Code etwas von delete steht.
Gruss
mehmet

AW: Datei wächst wegen Formeln
03.06.2007 23:26:00
Matthias
Hallo Mehmet,
ok, ist mir auch zu kompliziert und zu spät.
Ich geb's auf.
Schönen Abend noch.
Matthias

AW: Datei wächst wegen Formeln
03.06.2007 23:33:00
Matthias
Hallo Mehmet,
ok, einen noch (ich Idiot stand auf dem Schlauch):

Sub test()
Range(Cells(4, 3), Cells(Rows.Count, 3)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Hier werden alle Zeilen gelöscht, die in der Spalte C nichts stehen haben (also nicht "ja", sondern ="").
Gruß Matthias
P.S. Danke an dieser Stelle an Udo für die unfreiwillige Hilfe:
https://www.herber.de/forum/messages/875204.html

Anzeige
AW: Datei wächst wegen Formeln
03.06.2007 23:45:00
mehmet
Wau, war der Makro schnell.
Und so short gehalten. Super, dank dir Matthias, natürlich auch an Udo.
Echt cool 8-)
Gibt es in Excel eine Möglichkeit die Werte von C2:C? umzudrehen?
Also das es so ist C?:C2 darstellt.
Gruss
mehmet

AW: Datei wächst wegen Formeln
04.06.2007 00:01:12
mehmet
8-)
Herzlichen dank dir für deine Hilfen.
Ich werde mit deinem Link weiter recherchieren.
Gruss
mehmet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige