Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte per Makro auslesen

Werte per Makro auslesen
14.12.2006 10:56:23
Hammes
Hallo zusammen!
Ich würde gerne die Merkmale zu Werten einer Tabelle, welche innerhalb eines bestimmten Intervalles liegen, per Makro ausgeben lassen. Das Ergebnis soll aber in einer Spalte auf einem bereits befüllten Tabellenblatt angezeigt werden.
Beispiel: Alle Merkmale mit einem Wert zwischen 100 und 300 (Unterstriche zählen als Platzhalter):
Merkmal_____Wert
--------------------
A___________110
B___________50
C___________150
D___________250
E___________10
F___________500
Gewünschtes Ausgabeergebnis in bereits existierender Tabelle:
Merkmal_____Beliebige andere Werte (bereits vorher fix eingetragen)
-------------------------------------------------------
A___________XXX
C___________XXX
D___________XXX
Kann mir da wer helfen?
Danke & Gruß,
Bastian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte per Makro auslesen
14.12.2006 13:24:34
Hammes
Niemand?
AW: Werte per Makro auslesen
14.12.2006 13:58:04
fcs
Hallo Bastian,
evtl. Hilft die folgendes Makro weiter. Die Namen der Tabellen muss du ggf. anpassen.
Gruss
Franz

Sub WerteSelektieren()
'Merkmale in aktueller Tabelle Spalte A, deren Werte in Spalte B den eingegebenen _
Wertebereich erfüllen werden in Ausgabetabelle in Spalte A eingetragen
Dim wks As Worksheet, wksAusgabe As Worksheet, Zeile As Long, ZeileAusgabe As Long
Dim Unten As Double, Oben As Double
Set wks = ActiveSheet
Set wksAusgabe = ActiveWorkbook.Worksheets("Ausgabe")
Unten = Val(InputBox("Unterer Wert:"))
Oben = Val(InputBox("Oberer Wert:"))
ZeileAusgabe = wksAusgabe.Cells(wksAusgabe.Rows.Count, "A").End(xlUp).Row
With wks
If Oben >= Unten Then
For Zeile = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
If .Cells(Zeile, "B").Value >= Unten And .Cells(Zeile, "B").Value <= Oben Then
ZeileAusgabe = ZeileAusgabe + 1
wksAusgabe.Cells(ZeileAusgabe, "A").Value = .Cells(Zeile, "A").Value 'merkmal eintragen
wksAusgabe.Cells(ZeileAusgabe, "B").Value = .Cells(Zeile, "B").Value 'Wert eintragen
End If
Next
Else
MsgBox "Oberer Wert muss größer oder gleich unterer Wert sein"
End If
End With
End Sub


Anzeige
AW: Werte per Makro auslesen
14.12.2006 17:18:16
Hammes
Hi,
das Makro war schonmal nicht schlecht, allerdings werden Merkmale und Zahlen nicht untereinander dargestellt, sondern mit Leerzeichen (Wenn auch in der Ursprungstabelle Leerzeichen enthalten sind) und es werden alle Merkmale & Zahlen ausgegeben, unabhängig von den eingegebenen Grenzen (untere Grenze -100000, obere Grenze 100000).
Noch eine Idee?
Danke & Gruß,
Bastian
AW: Werte per Makro auslesen
14.12.2006 19:40:07
fcs
Hallo Bastian,
Leere Zeilen nicht zu berücksichtigen ist kein Problem.
Das Problem mit dem Zahlenbereich verstehe nicht, das funktioniert bei mir einwandfrei.
Das Makro prüft >= unterer Wert und Was für Zahlenwerte stehen denn in deiner Tabelle?
Lade ggf. mal eine Beispieltabelle hoch.
Gruss
Franz

Makro modifiziert wg Leerzeilen
Sub WerteSelektieren()
'Merkmale in aktueller Tabelle Spalte A, deren Werte in Spalte B den eingegebenen _
Wertebereich erfüllen werden in Ausgabetabelle in Spalte A eingetragen
Dim wks As Worksheet, wksAusgabe As Worksheet, Zeile As Long, ZeileAusgabe As Long
Dim Unten As Double, Obern As Double
Set wks = ActiveSheet
Set wksAusgabe = ActiveWorkbook.Worksheets("Ausgabe")
Unten = Val(InputBox("Unterer Wert:"))
Oben = Val(InputBox("Oberer Wert:"))
ZeileAusgabe = wksAusgabe.Cells(wksAusgabe.Rows.Count, "A").End(xlUp).Row
With wks
If Oben >= Unten Then
For Zeile = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
If Not IsEmpty(.Cells(Zeile, "B").Value) Then
If .Cells(Zeile, "B").Value >= Unten And .Cells(Zeile, "B").Value <= Oben Then
ZeileAusgabe = ZeileAusgabe + 1
wksAusgabe.Cells(ZeileAusgabe, "A").Value = .Cells(Zeile, "A").Value 'merkmal eintragen
wksAusgabe.Cells(ZeileAusgabe, "B").Value = .Cells(Zeile, "B").Value 'Wert eintragen
End If
End If
Next
Else
MsgBox "Oberer Wert muss größer oder gleich unterer Wert sein"
End If
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige