Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Excel-VBA (Dringend)

Hi,
habe folgendes Problem. Habe in Excel 3 Spalten mit Zahlen, die aber nicht immer gleich viele sind. JEtzt muss ich ein VBA-Programm schreiben, das in einem extra Tabellenblatt mir die Mittelwerte der 3 Spalten hinschreibt.
Weiß jemand wie das geht???


Antworten zu Excel-VBA (Dringend):

Hallo,
Excel erstellt automatische Verknüpfungen mit allen Tabellen. Wenn du z.B. eine Zelle in der neuen Tabelle hast, wo der Endwert stehen soll, brauchst du die Zelle nur anzuklicken, dann "Summe" betätigen und auf die alte Tabelle gehen, die Zelle mit dem Resultat markieren und "Enter" drücken.
Zwischenrechnungen kannst du sowohl auf der alten wie auch auf der neuen Tabelle machen.
Sollen diese nicht sichtbar sein, färbst du die
Schriftfarbe einfach weiss.

CC
   

Ja, des ist schon klar, wie des geht, aber das ist nicht mein Problem. Mein Problem ist, dass ich ein Makro schreiben muss, das aus einer .txt-Datei bestimmte Werte ausließt und in eine Excel-Tabelle einfügt. Das hab ich ja auch schon. Aber des Makro soll zusätlich noch die Mittelwerte von den Werten ausrechnen und in ein Extra Tabellenblatt schreiben. Der Anwender soll letztendlich nur noch angeben müssen, welche .txt-Datei er enlesen will

Alle Zahlen zusammen zählen und dann durch die Anzahl der Zahlen teilen
z.B.
4 Zahlen in der Text datei
20, 10, 5, 5
Summe = 40
50 / 4 = 10

So was????????

Ja, des würd scho so hinhauen. Nur, ich hab ja jedes Mal verschieden viele Datensätze. Ich muss hierfür also irgendwelche Variablen hernehem.
Aber ich hab momentan überhaupt keinen Plan wie ich des anstellen soll

Wie liest du denn die Zahlen aus der Text datei aus Wenn es immer unterschiedlich viele sind??

    'Erstellen der Datei "Importtest.xls"

    ChDir "C:\"
    ActiveWorkbook.SaveAs Filename:="C:\Importtest.xls", FileFormat:= _
    xlExcel9795, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
   
    'Kopieren in die Datei "Import.xls"

    Windows("Importtest.xls").Activate
    Columns("A:A").Select
    Selection.Copy
    Windows("Import.xls").Activate
    Range("C6").Select
    Windows("Importtest.xls").Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Import.xls").Activate
    Cells.Select
    ActiveSheet.Paste


Denk euch nix, mein Quellcode ist nicht der beste

Versuch es doch mit einem array

Funktioniert auch nicht. Keine Ahnung wie ich des machen kann

Hi MC,

alles möglich ;)

wenn du verschiedene Eingangsformulare hast, wäre es natürlich erstmal wichtig, deinem neu zu kreiierendem Excelprogramm immer den aktuellen namen zu nennen. sonst hast du völligst recht, wird dein macro die daten nicht finden.

dafür solltest du entweder auf der infomaske ein button haben, welcher automatisch seinen namen rückmeldet, oder ein eingabefenster dafür vorsehn.

dann ist der rest relativ einfach:
wir nehmen an, deine daten sind in der reihe B3-b200, c3-c400 und d3-d250 abgelegt

Dim vardata as 10
Dim a, a1, b as integer

a = 3
b = 2
a1 = 0

do while b < 5
do while cells(a, b).value <> ""
a1 = a1 + cells(a, b).value
a = a + 1
loop
vardata(b-1) = a1/(a - 1)
a1 = 0
a = 3
b = b + 1
loop

*auslesen****
Range("A1").value = vardata (1)
Range("A2").value = vardata (2)
Range("A3").value = vardata (3)

so.. das könnte helfen...

cu


« Protect mit Farbfreigebe in VBASchrifft »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Excel
Excel ist eine Tabellenkalkulationssoftware von Microsoft, die Teil des Office-Pakets ist, aber auch eigenständig erworben werden kann. Ursprünglich für di...

Makrolon
Makrolon ist ein von der Firma Bayer entwickelter Kunststoff, ein so genanntes Polycarbonat. Dieser Stoff ist extrem form- und wärmebeständig und deshalb auch v...

Hypertext
Hypertext ( zu Deutsch: Übertext) ein ein von dem Informatiker Theodore L. Nelson in den sechziger Jahren geprägter Begriff für Text, der dreidimensional g...