Ausreißerbestimmung
#11
Das VBA ist kein Makro, sondern ein Tabellenerstellungscode (nein, natürlich ist es doch ein Makro), da ich Forums-Hygiene liebe (knappe Ausführungen, möglichst keine oder kleine Anhänge).

Du kannst jetzt die Felder manuell einfach nach rechts kopieren (z.B. mit Strg-R). Das war's dann schon. Oder für 3 weitere Spalten eine Zusatzzeile im VBA vor End einfügen:

::
[A1:D3].FillRight
::

Sollen sie untereinander fortgesetzt werden, verschiebst Du die nach rechts kopierten 3er-Blöcke einzeln nach unten (z.B. nach A4, A7 usw.).

Brauchst Du sehr viele davon, würde ich exponenziell kopieren:

[A1:B3] Strg-R [B1:B3] Strg-X [A4] Strg-V - 2 Blöcke
[A1:B6] Strg-R [B1:B6] Strg-X [A7] Strg-V - 4 Blöcke
[A1:B12] Strg-R [B1:B12] Strg-X [A13] Strg-V - 8 Blöcke usw.
::

Und willst Du völlig frei kopieren, passe ich den Code noch so an, dass 3 Zeilen immer zusammengehören.
Top
#12
Hallo Lupo,

danke für deine Mühe.

Ich habe jetzt zusammen mit meinem Kollegen versucht zu verstehen, was du mit "kopieren nach rechts" meinst aber irgendwie kommen wir nicht auf einen grünen Zweick.

Wir haben jetzt so wie du beschrieben hast in dem Excel Arbeitsblatt die 1 Werte Gruppe nach rechts verschoben, ausgeschnitten und unten eingefügt.
Jedoch funktioniert die Funktion für diese 2 Werte gruppe nicht mehr.

Im Anhang ein Screenshot.


Angehängte Dateien Thumbnail(s)
   
Top
#13
Hallo,

allein vom Wort her: kopieren ist nicht gleich ausschneiden!!!!!!!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#14
(28.11.2016, 10:13)BoskoBiati schrieb: Hallo,

allein vom Wort her: kopieren ist nicht gleich ausschneiden!!!!!!!

Hi Bosko,

ja das ist richtig.
Was machen ich falsch bzw. kann man mir das besser erklären wie ich die VBA auf die anderen Werte übertrage?
Top
#15
(28.11.2016, 10:13)BoskoBiati schrieb: allein vom Wort her: kopieren ist nicht gleich ausschneiden!
Oder meintest Du, Verschieben-Einfügen sei nicht Kopieren-Einfügen? ;)

An den TE: Ich hatte doch klipp und klar Strg-X und Strg-V verwendet!
Top
#16
Hallo,

Anweisung von Lupo:
Zitat:manuell einfach nach rechts kopieren

oder:

Zitat:Sollen sie untereinander fortgesetzt werden, verschiebst Du die nach rechts kopierten 3er-Blöcke einzeln nach unten

Deine Vorgehensweise:


Zitat:die 1 Werte Gruppe nach rechts verschoben, ausgeschnitten und unten eingefügt
Das scheint mir nicht das Gleiche zu sein!

Mein Vorschlag wäre eine bedingte Formatierung nach dieser Methode:

[html]
Arbeitsblatt mit dem Namen 'Tabelle1'
 A
1-5
23
36
4 
59
62,9
76
8 
9-6
101
1110

Zellebedingte Formatierung...Format
A11: =ABS(A1-MITTELWERT(A$1:A$3))=MAX(ABS(A$1:A$3-MITTELWERT(A$1:A$3)))abc
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
[/html]
Hier kann man den Block A1:a3 nach rechts ziehen (kopieren), dann ausschneiden und unter A3 irgendwo einfügen, allerdings müssen die Zahlen danach eingefügt werden!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#17
Code:
Sub EinAusreisserVonDreiWerten()
'Neue Datei nehmen, Alt-F11 (VBA-Editor) "Einfügen Modul", diesen Code dort einfügen und dann F5 drücken!
[A1] = 1: [A2] = 2: [A3] = 3.99
ActiveWorkbook.Names.Add Name:="x", RefersToR1C1:="=INDEX(C,TRUNC(ROW(R[2]C)/3)*3-2):INDEX(C,TRUNC(ROW(R[2]C)/3)*3)"
[A1:Z999].FormatConditions.Add Type:=xlExpression, Formula1:= _
"=(A1=KKLEINSTE(x;2+VORZEICHEN(KGRÖSSTE(x;1)/KGRÖSSTE(x;2)^2*KGRÖSSTE(x;3)-1)))*(A1<>KGRÖSSTE(x;2))"
[A1:Z999].FormatConditions(1).Interior.Color = 49407
End Sub
Jetzt klappt es im Bereich A1:Z999 wie gewünscht, also unterteilt in 1 Spalte breite und 3 Zeilen hohe Bereiche.
Top
#18
(29.11.2016, 15:24)lupo1 schrieb:
Code:
Sub EinAusreisserVonDreiWerten()
'Neue Datei nehmen, Alt-F11 (VBA-Editor) "Einfügen Modul", diesen Code dort einfügen und dann F5 drücken!
[A1] = 1: [A2] = 2: [A3] = 3.99
ActiveWorkbook.Names.Add Name:="x", RefersToR1C1:="=INDEX(C,TRUNC(ROW(R[2]C)/3)*3-2):INDEX(C,TRUNC(ROW(R[2]C)/3)*3)"
[A1:Z999].FormatConditions.Add Type:=xlExpression, Formula1:= _
"=(A1=KKLEINSTE(x;2+VORZEICHEN(KGRÖSSTE(x;1)/KGRÖSSTE(x;2)^2*KGRÖSSTE(x;3)-1)))*(A1<>KGRÖSSTE(x;2))"
[A1:Z999].FormatConditions(1).Interior.Color = 49407
End Sub
Jetzt klappt es im Bereich A1:Z999 wie gewünscht, also unterteilt in 1 Spalte breite und 3 Zeilen hohe Bereiche.

Super vielen dank.

Hab diese Formel jetzt eingegeben jedoch wird jetzt A1 markiert. Bitte siehe Anhang.

Laut Logik müsste aber A3 markiert werden, da dieser Wert weiter weg ist.


Angehängte Dateien Thumbnail(s)
   
Top
#19
1. hätte Dir das auch schon bisher auffallen müssen
2. war schon in Deinem OP von 0,12/0,001/1 die 0,001 zu markieren, was zweifelsfrei auf geometrische Abstände schließen ließ - schau dort nach!

A3: 3,99 ist näher dran, 4 wäre gleich weit weg (= keine Formatierung); erst 4,01 wäre hervorzuheben.
Top
#20
Hallo Lupo,

in der Konstellation 1/2/3,99 ist wohl eher 3,99 der Ausreisser!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste