Autor
|
Thema: Bedingte Auswahl (840 mal gelesen)
|
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 15. Nov. 2007 14:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe eine Tabelle mit 9 Spalten. Jetzt möchte ich in Spalte B und Spalte I alle Zellen auswählen, deren Werte in Spalte B zwischen einem minimalen und maximalen Wert liegen. D.H. falls die Bedingung für Zelle B4 zutrifft, will ich B4 und I4 markieren. Die Daten sind sortiert, so dass es da immer nur einen Block geben dürfte. Wie würdet Ihr das machen? ------------------
Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdog Ehrenmitglied V.I.P. h.c.
Beiträge: 2237 Registriert: 30.04.2004
|
erstellt am: 15. Nov. 2007 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Hallo, bedingte Formatierung ist das Zauberwort für B4 mit der Einstellung "Zellwert ist" zwischen ... für I4 mit der Einstellung Formel ist =UND(B4>min3;B4<max) min und max sind deine Werte dieses Format auf die gesamte Spalte übertragen ------------------ Gruß Thomas CADdog, the dog formerly known as TR AutoCAD spricht mit einem, aber viele hören nicht zu. [Diese Nachricht wurde von CADdog am 15. Nov. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 15. Nov. 2007 14:55 <-- editieren / zitieren --> Unities abgeben:
Hi Thomas, besten Dank für Deine Antwort! Ich möchte die entsprechenden Zellen aber auswählen, nicht 'nur' markieren, da hab ich mich wohl missverständlich ausgedrückt. Ich will die Auswahl aus Spalte B gegen die aus Spalte I in einem xy-Plot auftragen ------------------
Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADdog Ehrenmitglied V.I.P. h.c.
Beiträge: 2237 Registriert: 30.04.2004
|
erstellt am: 15. Nov. 2007 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Zitat: Original erstellt von nschlange: ...da hab ich mich wohl missverständlich ausgedrückt...
nö, meine Leseschwäche ist wohl deutlich geworden das geht wohl nur mit VBA, da bin ich raus wenn ich auch nicht wirklich dein gewünschtes Ergebnis verstanden habe ------------------ Gruß Thomas CADdog, the dog formerly known as TR AutoCAD spricht mit einem, aber viele hören nicht zu. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 15. Nov. 2007 15:06 <-- editieren / zitieren --> Unities abgeben:
Ich versuch das nochmal zu verdeutlichen: Ich will die Spalte B nach Werten innerhalb eines bestimmten Bereiches durchsuchen, z.B. Zahlen zwischen 10 und 20. Finde ich dort solche Werte will ich diese Zellen auswählen, und in der selben Zeile auch die in Spalte I. Ist das verständlich? ------------------
Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 15. Nov. 2007 15:36 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Tag zusammen, hingestümpert würde das vielleicht so gehen: Code: Sub Selektieren() Dim arReihen(10) Dim strBereich As String Dim cell as Range Dim a As Long, i As Long For Each cell In Tabelle1.Range("B1:B10") If cell.Value > 1 And cell.Value < 5 Then arReihen(i) = cell.Row i = i + 1 End If Next cell For a = LBound(arReihen) To UBound(arReihen) If arReihen(a) <> "" Then strBereich = strBereich & "B" & arReihen(a) & "," & "I" & arReihen(a) & "," End If Next a Tabelle1.Range(Left(strBereich, Len(strBereich) - 1)).Select 'Stop End Sub
Was willst Du denn nach dem Selektieren damit machen? xy-plot sagt mir grade nicht viel. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 15. Nov. 2007 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Zitat: Original erstellt von runkelruebe: ... xy-plot sagt mir grade nicht viel ...
Er möchte wohl aus den ausgewählten Daten ein Diagramm erstellen mit dem Diagrammtyp "Punkt (XY)". Ich meine zu wissen (gerade nicht Zeit zu testen), dass Excel leichten Schluckauf bekommt, wenn die für das Diagramm ausgewählten Daten nicht lückenlos aufeinander folgen. edit: Schreibfehler... ------------------ Seit Pro/E Version 1 dabei, auwei... [Diese Nachricht wurde von carsten-3m am 15. Nov. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 15. Nov. 2007 16:22 <-- editieren / zitieren --> Unities abgeben:
@carsten-3m Genau das ist gemeint. @runkelruebe Vielen Dank! So ganz funktioniert es noch nicht: Tabelle1.Range(Left(strBereich, Len(strBereich) - 1)).Select wirft einen Fehler. Momentan überschaue ich das aber noch nicht. ------------------
Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 15. Nov. 2007 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
heißt die Tabelle1 vielleicht nicht tabelle1? ;-) versuch Sheets(1), obwohl er sonst schon früher hätte meckern sollen... Also: VBA-Fenster aufmachen, code schrittweise durchgehen (F8), Lokalfenster dabei aufmachen und gucken, wo es genau hakt. Mit dem Ergebnis wiederkommen ;-) Und wenn das Makro dann irgendwann durchgelaufen ist, die Zellen markiert sind, im ExcelFenster uaf F11 drücken und beim entstehenden Diagramm (neues sheet) einfach den Typ wechseln, dann geht auch ein xy-Punktdiagramm. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 15. Nov. 2007 16:39 <-- editieren / zitieren --> Unities abgeben:
doch, die heisst schon Tabelle1 Der Fehler lautet: Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument und tritt in der angegebenen Code-Zeile auf. Wird vielleicht Range falsch aufgerufen? ------------------
Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 15. Nov. 2007 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Zitat: Unzulässiger Prozeduraufruf oder ungültiges Argument (Fehler 5)Ein Teil des Aufrufs konnte nicht abgeschlossen werden. Dieser Fehler hat die folgenden Ursachen und Lösungen: Ein Argument hat wahrscheinlich den Bereich zulässiger Werte überschritten. Die Sin-Funktion kann zum Beispiel nur Werte innerhalb eines bestimmten Bereichs verarbeiten. Positive Argumente, die kleiner als 2.147.483.648 sind, werden akzeptiert, während 2.147.483.648 diesen Fehler auslöst. Überprüfen Sie die für Argumente zulässigen Bereiche. Dieser Fehler kann auch auftreten, wenn versucht wird, eine Prozedur aufzurufen, die auf der aktuellen Plattform nicht zulässig ist. Einige Prozeduren sind zum Beispiel nur für Microsoft Windows oder auf dem Macintosh zulässig usw. Überprüfen Sie die Angaben zu zulässigen Plattformen für die Prozedur. Weitere Informationen erhalten Sie, wenn Sie das fragliche Element auswählen und F1 (unter Windows) oder HILFE (beim Macintosh) drücken.
Bei mir läuft es, da Du aber keine Mappe hochgeladen hast, habe ich mir eine eigene gebastelt und darin getestet, was ich nebenbei bemerkt eigentlich nicht mehr tun wollte, aber egal.. Ich arbeite mit XL2003, wie man links in der sysinfo schön sehen kann, und Du? ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 15. Nov. 2007 18:31 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Zitat: Jetzt möchte ich in Spalte B und Spalte I alle Zellen auswählen, deren Werte in Spalte B zwischen einem minimalen und maximalen Wert liegen.
Hmmm, ich habe die exakte Aufgabenstellung zwar auch nicht verstanden - aber ich interpretiere es mal in diese Lösung ;-) Hilfsspalte, die einen Kenner auswirft wenn B = Wahr. (formel bitte selber basteln) Filtern über Kenner. Ausgruppieren von C-H. xy Diagramm ohne Vba Alles klar? ;-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied | |
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 16. Nov. 2007 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für nschlange
Hallo nschlange, also ich würde es nach den Informationen, die Du gegeben hast, genauso machen, wie Thomas Harmening. Mach neAuswahl der Zellen, die Dich interessieren dergestalt, dass in Spalte J (z. B.) ein Wert reingeschrieben wird. Dann machst Du ein Diagramm, das alle Werte miteinander vergleicht, blendest die aus, die nicht im Spalte J markiert sind und hast (so weit ich Dich verstanden habe) dann genau das xy Diagramm, das Du gesucht hast - ohne VBA und sonstigen Schnick Schnack. Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nschlange Mitglied
Beiträge: 214 Registriert: 23.03.2004 Win XP Pro, Sp 2 NX 4.0.4.2 MP6, Mechanical Desktop 2004, Ansys 11, Catia V5R17, MS Office 2003
|
erstellt am: 16. Nov. 2007 19:21 <-- editieren / zitieren --> Unities abgeben:
@Thomas Vielen Dank für diese Idee! @runkelruebe Dein Programm hat hier jetzt auch mal funktioniert, aber nicht immer. Ich kann das aber nicht rekonstruieren. Ein Mappe stelle ich nächste Woche mal zur Verfügung, das Problem kann aber als gelöst betrachtet werden, so dass da niemand mehr Zeit reinstecken sollte. Ich werde mich jetzt aber doch mal mit VBA auseinandersetzten. ------------------ Viele Grüße nschlange Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |