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

Formeln in Makro

Formeln in Makro
23.02.2004 09:57:41
TinoB
hallo leute,
habe ein problem und versuch es mal zu beschreiben. ich lese über ein makro werte einer textdatei ein. diese werte werden in einer tabelle über formeln automatisch weiterverarbeitet und danach in eine weitere tabelle zur ausgabe kopiert. nun sind die anzahl der zeilen der eingelesenen werte jedesmal unterschiedlich. die formeln sind jedoch fest und ziemlich lang und bis auf die zeile 1000 kopiert. jetzt ist die exceldatei schon über 6 mb groß, wie kann ich dies anstellen, dass nur die formeln der zeilen erscheinen wo zb unter der SpalteA auch werte stehen. ich denke es geht bestimmt über ein makro nur weiß ich nicht wie. kann mir jemand helfen? ich hoffe es einigermaßen verständlich erklärt zu haben.
mit bestem dank im voraus
Tino

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln in Makro
23.02.2004 10:21:25
Alex K.
Hallo Tino,
mit nachfolgenden Makro wird ALLES in den Zellen gelöscht. Hierbei wird auf Grund des letzten Eintrages in Spalte A die Startzeile für das Löschen ermittelt.

Public Sub LoeschenLeerbereich()
With ActiveSheet
.Range(.Cells(.Cells(.UsedRange.Rows.Count, 1).End(xlUp).Row + 1, 1), _
.Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)).Clear
End With
End Sub

AW: Formeln in Makro
23.02.2004 10:22:58
Karl-Otto Reimann
Hallo Tino
Du arbeitest warscheinlich schon länger an dem Projekt, und umso umfangreicher
wird die Datei (und auch langsamer). Umfangreiche Formeln fügt man am besten über VBA ein und wandelt diese dann in Werte um. Dazu wird dann zuerst die Menge der zu
berechnenden Werte bestimmt und dann die entsprechende Menge der Formeln eingefügt.
Aber siehe oben, Du solltest über einen Umzug in eine neue Mappe nachdenken.
Gruß
Karl-Otto
Anzeige
Löschen
23.02.2004 10:36:28
TinoB
danke für die schnellen antworten. mit dem löschen ist ansich keine schlechte sache. nur bleibt meine grunddatei dabei unverändert groß. noch eine möglichkeit wäre doch, die formeln befinden sich in der ersten zeile, nach dem einlesen der textdatei wird die letzte zeile gesucht und anschließend werden die formeln von der ersten bis zur letzten gefüllten zeile kopiert. müsste doch eigentlich so funktionieren, nur hab ich keinen schimmer wie ich dies umsetzen muß. hätte eventuell jemand eine idee?
Danke
AW: Löschen
23.02.2004 10:50:22
Karl-Otto Reimann
Bist Du noch nüchtern, dann bau das um.
Wenn nicht, nochmal melden.

Sub Berechnen()
Dim intRow As Integer
intRow = Sheets("tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Range("Tabelle1!C2").Formula = "=A2+B2/Pi()"
Range("Tabelle1!C2:C" & intRow).FillDown
Range("Tabelle1!C:C") = Range("Tabelle1!C:C").Value
End Sub

Anzeige
hm,
23.02.2004 11:31:53
TinoB
>Bist Du noch nüchtern, dann bau das um.
na ja das weiß ich selbst manchmal nicht mehr ;-)
habe es umgebaut und es funktioniert. nur hab ich nicht nur in BI diese formel sondern das geht bis FG. muss ich dies jetzt für jede spalte so machen? oder kann ich die formeln alle in diese anweisung eingeiben zb. so

Sub Berechnen()
Dim intRow As Integer
intRow = Sheets("Formeln").Cells(Rows.Count, 1).End(xlUp).Row
Range("Formeln!BI2").Formula = "=((Ausgabe!J2+Ausgabe!K2)*2*Ausgabe!V2)/1000000"
Range("Formeln!BJ2").Formula = "=$BI2*Ausgabe!D2"
Range("Formeln!BI2:BI" & intRow).FillDown
Range("Formeln!BI:FG") = Range("Formeln!BI:FG").Value
End Sub

ist dies so korrekt?
Anzeige
AW: hm,
23.02.2004 11:38:55
Karl-Otto Reimann
Kann ja sein, das sich Leute aus Papua einloggen und sich über
sonst ungewöhnliche Heiterkeitsausbrüche wundern, aber im Rheinland herrsch halt
heute der Ausnahmezustand!
Also Du erweiterst einfach den Spaltenbezug :
Range("Formeln!BI2:BJ" & intRow).FillDown
danke, dies hat mir weitergeholfen (o.T.)
23.02.2004 15:55:55
TinoB
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige