Thema Datum  Von Nutzer Rating
Antwort
10.09.2017 16:57:26 NeuInVBA
NotSolved
Blau Schleifen, Filter mit tabellenblattübergreifenden Variablen
10.09.2017 19:31:15 Gast70117
NotSolved
11.09.2017 13:32:55 NeuInVBA
NotSolved
11.09.2017 19:33:28 Gast70117
NotSolved
11.09.2017 20:48:59 Gast49619
NotSolved
11.09.2017 20:48:59 Gast80265
NotSolved
11.09.2017 20:48:59 Gast94550
NotSolved
11.09.2017 20:53:13 Gast37918
NotSolved
12.09.2017 10:47:45 Gast70117
NotSolved
12.09.2017 15:19:55 NeuInVBA
NotSolved

Ansicht des Beitrags:
Von:
Gast70117
Datum:
10.09.2017 19:31:15
Views:
600
Rating: Antwort:
  Ja
Thema:
Schleifen, Filter mit tabellenblattübergreifenden Variablen

Quick&Dirty lt. Muster

 

Option Explicit

Sub Test()
Dim Tab1 As Excel.Worksheet, Tab2 As Excel.Worksheet
Dim RngU As Range, rngRow As Range
Set Tab1 = Sheets("Tabelle1")
Set Tab2 = Sheets("Tabelle2")
'
   With Tab1
      With .Columns("B:Q")
         
         'Umfang der Suche
         Set RngU = Range(.Cells(1), .Cells(.Cells.Count).End(xlUp))
         
         'habe Überschrift
         Set RngU = RngU.Offset(1).Resize(RngU.Rows.Count - 1)
         
         'über alle Zeilen
         For Each rngRow In RngU.Rows
            
            'schreibe Ergebnis der Substraktion rechts von (in Ergebnis)
            With rngRow.Cells(rngRow.Cells.Count).Offset(, 1)
               .Value = FiltIt(Tab2, rngRow.Cells(1).Value, ">" & _
                  Replace(CStr(rngRow.Cells(rngRow.Cells.Count).Value), ",", "."))
               
               'nur wenn
               If .Value > 0 Then
                  .Value = .Value - .Offset(, -1).Value
               Else
                  .Value = ""
               End If
            End With
         
         Next rngRow
      End With
   End With

End Sub

Private Function FiltIt(Sh As Worksheet, Nme As Variant, Wrt As String) As Double
Dim rngF As Range, rngV As Range
   With Sh
      If .AutoFilterMode Then .AutoFilterMode = False
      
      With .Columns("B:Q")
         Set rngF = Range(.Cells(1), .Cells(.Cells.Count).End(xlUp))
         With rngF
            On Error Resume Next
            .AutoFilter Field:=1, Criteria1:=Nme
            .AutoFilter Field:=16, Criteria1:=Wrt, Operator:=xlAnd
            Set rngV = rngF.Offset(1).Resize(rngF.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
            'nimmt den erste Wert wo größer
            FiltIt = rngV.Columns(16).Cells(1).Value
            On Error GoTo 0
         End With
      End With
   End With

End Function

 


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
10.09.2017 16:57:26 NeuInVBA
NotSolved
Blau Schleifen, Filter mit tabellenblattübergreifenden Variablen
10.09.2017 19:31:15 Gast70117
NotSolved
11.09.2017 13:32:55 NeuInVBA
NotSolved
11.09.2017 19:33:28 Gast70117
NotSolved
11.09.2017 20:48:59 Gast49619
NotSolved
11.09.2017 20:48:59 Gast80265
NotSolved
11.09.2017 20:48:59 Gast94550
NotSolved
11.09.2017 20:53:13 Gast37918
NotSolved
12.09.2017 10:47:45 Gast70117
NotSolved
12.09.2017 15:19:55 NeuInVBA
NotSolved