Thema Datum  Von Nutzer Rating
Antwort
15.11.2016 14:59:10 Florian Rave
NotSolved
15.11.2016 16:29:13 BigBen
NotSolved
15.11.2016 16:51:52 Florian Rave
NotSolved
15.11.2016 16:53:12 Florian Rave
NotSolved
15.11.2016 17:00:01 BigBen
NotSolved
15.11.2016 17:05:21 Gast40465
NotSolved
15.11.2016 17:05:39 Gast16014
NotSolved
15.11.2016 17:07:37 Florian Rave
NotSolved
Rot Per Makro zugehörige Werte finden
15.11.2016 19:43:31 BigBen
NotSolved
15.11.2016 20:21:01 BigBen
NotSolved
15.11.2016 21:20:29 Florian Rave
NotSolved
16.11.2016 10:45:19 BigBen
NotSolved
15.11.2016 17:29:45 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
15.11.2016 19:43:31
Views:
642
Rating: Antwort:
  Ja
Thema:
Per Makro zugehörige Werte finden

Hallo,

es hat etwas länger gedauert, als ich vermutet hätte.

Der VBA-Code gibt den DBLMin und DBLMax-Wert in der Konsole aus:

Sub grossklein_Version2()
    Dim dblMin As Double
    Dim dblMax As Double
    Dim shWert1 As Worksheet
    Dim shWert2 As Worksheet
    Set shWert1 = ThisWorkbook.Sheets(1)
    Set shWert2 = ThisWorkbook.Sheets(2)
    Dim rngRow As Range
    Dim rng As Range, rngFound As Range
    Dim rngATemp As Range
    Dim rngFind As Range
    Dim iRow As Integer
    For Each rngRow In shWert1.UsedRange.Rows
        Set rngATemp = rngRow.Cells(Columnindex:=6)
        If IsNumeric(rngATemp.Value) Then
            If shWert2.AutoFilterMode = False Then
                shWert2.UsedRange.Rows(1).AutoFilter
            End If
            Set rngFind = shWert2.UsedRange.Columns(2)
            If rngFind.Worksheet.AutoFilterMode = False Then
                rngFind.Worksheet.ShowAllData
            End If
            rngFind.AutoFilter Field:=2, Criteria1:=Replace(CDbl(rngATemp.Value), ",", ".")
            If rngFind.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
                dblMax = WorksheetFunction.Min(rngFind.Columns(1).SpecialCells(xlCellTypeVisible))
                dblMin = dblMax
                Debug.Print "Wert gefunden: "; dblMax
            ElseIf rngFound Is Nothing Then
                ' Nächste Werte finden
                dblMax = 0
                dblMin = 0
                rngFind.Worksheet.ShowAllData
                rngFind.AutoFilter Field:=2, Criteria1:=">" & Replace(CDbl(rngATemp.Value), ",", ".")
                dblMax = WorksheetFunction.Min(rngFind.Columns(1).SpecialCells(xlCellTypeVisible))
                rngFind.Worksheet.ShowAllData
                rngFind.AutoFilter Field:=2, Criteria1:="<" & Replace(CDbl(rngATemp.Value), ",", ".")
                dblMin = WorksheetFunction.Max(rngFind.Columns(1).SpecialCells(xlCellTypeVisible))
                
                Debug.Print "Näherungswerte Gefunden: "; rngATemp.Value, dblMin, dblMax
            End If
        End If
    Next
End Sub

Anstatt jede Zelle durchlaufen, wird einfach ein AutoFilter gesetzt und das Ergebnis der Funktion Max bzw. Min übergeben.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
15.11.2016 14:59:10 Florian Rave
NotSolved
15.11.2016 16:29:13 BigBen
NotSolved
15.11.2016 16:51:52 Florian Rave
NotSolved
15.11.2016 16:53:12 Florian Rave
NotSolved
15.11.2016 17:00:01 BigBen
NotSolved
15.11.2016 17:05:21 Gast40465
NotSolved
15.11.2016 17:05:39 Gast16014
NotSolved
15.11.2016 17:07:37 Florian Rave
NotSolved
Rot Per Makro zugehörige Werte finden
15.11.2016 19:43:31 BigBen
NotSolved
15.11.2016 20:21:01 BigBen
NotSolved
15.11.2016 21:20:29 Florian Rave
NotSolved
16.11.2016 10:45:19 BigBen
NotSolved
15.11.2016 17:29:45 BigBen
NotSolved