Thema Datum  Von Nutzer Rating
Antwort
23.10.2017 21:57:26 Marco
NotSolved
24.10.2017 10:25:34 Gast17668
NotSolved
Rot doch EASY
25.10.2017 05:29:06 fransi
NotSolved

Ansicht des Beitrags:
Von:
fransi
Datum:
25.10.2017 05:29:06
Views:
775
Rating: Antwort:
  Ja
Thema:
doch EASY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Sub Testen()
 
Dim strMaterial As String
Dim arrV() As String
 
Application.ScreenUpdating = False
Application.DisplayAlerts = False
 
   'Hier wähle ich das Material aus
   strMaterial = InputBox("Ihre Auswahl")
   If Len(strMaterial) < 1 Then Exit Sub
   'Ich mach mir eine Hilfs-Arbeitsmappe
   HilfsArbeitsmappe "Hilfstabelle"
   'meine Auflistung in "Tabelle4"
   'mein Material in Spalte "E"
   'mein Diagramm in Spalte "I"
   arrV = Unikatliste("Tabelle4", "Hilfstabelle", "E", "I", strMaterial)
   Sheets("Hilfstabelle").Delete
   'mein Test
   MsgBox Join(arrV, vbNewLine)
 
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
 
Function Unikatliste(strA As String, strH As String, _
   colM As String, colD As String, strMat As String) As Variant
 
Dim ShA As Excel.Worksheet
Dim ShH As Excel.Worksheet
 
Dim rngF As Range, rngA As Range, rngR As Range, c As Range
Dim strarr As String, vArr() As String, i As Integer
    
    
   Set ShA = Sheets(strA)
   Set ShH = Sheets(strH)
    
   With ShH
      .AutoFilterMode = False
      .Cells.Clear
      ShA.Columns(colM).Copy .Range("A1")
      ShA.Columns(colD).Copy .Range("B1")
      With .UsedRange.Columns("C")
         .FormulaR1C1 = "=RC[-2]&RC[-1]"
         .Value = .Value
      End With
      .UsedRange.RemoveDuplicates Columns:=3, Header:=xlNo
      .UsedRange.AutoFilter Field:=3, Criteria1:= _
        "=" & strMat & "*", Operator:=xlAnd
      Set rngF = .UsedRange.SpecialCells(12)
      For Each rngA In rngF.Areas
         For Each rngR In rngA.Rows
            If rngR.Cells(1).Value = strMat Then
               ReDim Preserve vArr(0 To i)
               vArr(i) = rngR.Cells(2).Value
               i = i + 1
            End If
         Next rngR
      Next rngA
   End With
 
   Unikatliste = vArr
    
End Function
 
Private Sub HilfsArbeitsmappe(strName As String)
Dim Sh As Excel.Worksheet
 
   For Each Sh In Sheets
      If Sh.Name = strName Then Exit For
   Next Sh
   If Sh Is Nothing Then
      Sheets.Add
      ActiveSheet.Name = strName
   End If
    
End Sub

 


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
23.10.2017 21:57:26 Marco
NotSolved
24.10.2017 10:25:34 Gast17668
NotSolved
Rot doch EASY
25.10.2017 05:29:06 fransi
NotSolved