Frage : Makrohilfe

Hallo Kerle benötige ich Hilfe, wenn ich ein Makro entwerfe, das in jedes übertreffen Akte gehen würde und tue einen Durchschnitt und stdev der Spalte I, L, M, N… und jede Spalte enthält herum 58-62 Reihen von Daten. wie ich wurde, das tun. Ich habe buchstäblich über 300 Akten. so definitiv. manuelle Lösung ist outa Frage. als Ihre Referenz I brachten havae ein übertreffenakte

Antwort : Makrohilfe

Ist hier ein Altschule Beispiel.  Sie entweder ändern das fest verdrahtete Rückstellungsverzeichnis, oder Gebrauch bittet den Benutzer um den Verzeichnisnamen.

Zwecks das StdDev berechnen lassen, müssen Sie zwei Durchläufe durch die Daten und den Durchschnitt und dann die Abweichung zuerst berechnen.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
Wahl ausdrücklich

Allgemeine Unterseebootnotfall ()
  Schwaches intFN als ganze Zahl
  Schwaches strLine als Schnur
  Verdunkeln strParsed () als Schnur
  dblSums (8 bis 15) als Doppeltes verdunkeln
  dblAvgs (8 bis 15) als Doppeltes verdunkeln
  dblVariances (8 bis 15) als Doppeltes verdunkeln
  lngCount als lang verdunkeln
  lngColumns verdunkeln (1 bis 4) als lang
  strFilename als Schnur verdunkeln
  lngColumns (1) = 8
  lngColumns (2) = 11
  lngColumns (3) = 12
  lngColumns (4) = 15
  Schwaches lngLoop als lang
  Const CSVpath als Schnur = „C:\Users\Mark\Downloads\“
  '1gl-Factory-Low-SNR-Power-Level-.csv "
  
  intFN = FreeFile
  strFilename = Dir (CSVpath u. „*.csv“)
  Bis Len (strFilename) = 0 tun
    CSVpath u. strFilename für Eingang als #intFN öffnen
    Bis EOF (intFN) tun
      Eingang #intFN, strLine zeichnen
      strParsed = aufspalten (strLine, „, ")
      '(I, L, M, N,   P) = 9, 12, 13, 15 mit einem Ursprung
      Für lngLoop = 1 bis 4
        dblSums (lngColumns (lngLoop)) = dblSums (lngColumns (lngLoop)) + Val (strParsed (lngColumns (lngLoop)))
      Zunächst
      lngCount = lngCount + 1
    Schleife
    Nahes #intFN
    strFilename = Dir ()
  Schleife
    
  Für lngLoop = 1 bis 4
    dblAvgs (lngColumns (lngLoop)) = dblSums (lngColumns (lngLoop)) /lngCount
  Zunächst
  
  strFilename = Dir (CSVpath u. „*.csv“)
  Bis Len (strFilename) = 0 tun
    CSVpath u. strFilename für Eingang als #intFN öffnen
    Bis EOF (intFN) tun
      Eingang #intFN, strLine zeichnen
      strParsed = aufspalten (strLine, „, ")
      Für lngLoop = 1 bis 4
        dblVariances (lngColumns (lngLoop)) = dblVariances (lngColumns (lngLoop)) + (dblAvgs (lngColumns (lngLoop)) - Val (strParsed (lngColumns (lngLoop)))) ^ 2
      Zunächst
    Schleife
    Nahes #intFN
    strFilename = Dir ()
  Schleife
    
    Debug.Print lngCount
    Für lngLoop = 1 bis 4
      Debug.Print dblSums (lngColumns (lngLoop)), dblAvgs (lngColumns (lngLoop)), dblVariances (lngColumns (lngLoop)), Sqr (dblVariances (lngColumns (lngLoop)))
    Zunächst
  
  
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us