Thema Datum  Von Nutzer Rating
Antwort
15.11.2016 12:11:25 Hagen
NotSolved
15.11.2016 12:21:39 Mario
NotSolved
Rot Problem mit der Zwischenablage in VBA
15.11.2016 12:22:45 Gast35260
NotSolved
15.11.2016 12:26:39 Hagen
NotSolved
15.11.2016 19:15:41 Mario
NotSolved

Ansicht des Beitrags:
Von:
Gast35260
Datum:
15.11.2016 12:22:45
Views:
842
Rating: Antwort:
  Ja
Thema:
Problem mit der Zwischenablage in VBA
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
Sub get_all_title()
 
Dim sheet As Integer
Dim sheet_counter_start As Integer
Dim sheet_counter_end As Integer
Dim row_search As Integer
Dim title_search As Integer
Dim title_paste_start As Integer
Dim title_paste_next As Integer
Dim title_paste_end As Integer
Dim duplicates As Integer
Dim duplicates_start As Integer
Dim duplicates_end As Integer
Dim duplicates_search As Integer
Dim duplicates_counter As Integer
Dim duplicates_all As Integer
Dim commercial_finder As String
Dim num_finder As Integer
Dim copy_start As Integer
Dim copy_end As Integer
Dim copy_dif As Integer
Dim copy_max As Integer
Dim start_paste As Integer
 
 
Dim testarray
 
 
'Application.ScreenUpdating = False
 
title_paste_start = 11
title_paste_next = title_paste_start
 
sheet_counter_start = 2
sheet_counter_end = Sheets.Count
 
'Alle Sheets durchlaufen (von 2 bis Ende)
For sheet = sheet_counter_start To sheet_counter_end
    Sheets(sheet).Select
     
    'Anhand von "No." den titel finden
    For row_search = 1 To 1000
        If Cells(row_search, 1) = "No." Then
            title_search = row_search - 1
             
            'Titel finden und falsche Werte ausschließen / danach kopieren und in Sheet 1 einfügen
            If Cells(title_search, 1).Value = "Ersteinsätze" Or Cells(title_search, 1).Value = "Saalbezogen(gültigfüralleFilme)." Then
            Else
                Cells(title_search, 1).Select
                Selection.Copy
                'MsgBox "Gefunden: " & Cells(title_search, 1)
                Sheets(1).Select
                Cells(title_paste_next, 1).Select
                ActiveSheet.Paste
                Sheets(sheet).Select
                title_paste_next = title_paste_next + 1
                title_paste_end = title_paste_next
            End If
        End If
    Next row_search
Next sheet
 
Sheets(1).Select
 
'Duplikate entfernen
duplicates_start = title_paste_start
duplicates_end = title_paste_end
duplicates_search_start = title_paste_start
duplicates_search_end = title_paste_end
 
For duplicates = duplicates_start To duplicates_end
    For duplicates_search = duplicates_search_start To duplicates_search_end
        If duplicates = duplicates_search Then
        Else
            If Cells(duplicates, 1) = Cells(duplicates_search, 1) And (Cells(duplicates_search, 1)) <> "" Then
                Cells(duplicates_search, 1).Delete
                duplicates_search = duplicates_search - 1
                duplicates_end = duplicates_end - 1
                duplicates_counter = duplicates_counter + 1
            End If
        End If
    Next duplicates_search
Next duplicates
duplicates_end = duplicates_end - 1
duplicates_all = duplicates_end - duplicates_start + 1
MsgBox (duplicates_counter) & (" Duplikate gefunden/gelöscht")
 
 
'Ergebniss sortieren
Cells(title_paste_start, 1).Select
ActiveWorkbook.Worksheets("Analyse").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Analyse").Sort.SortFields.Add Key:=ActiveCell, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Analyse").Sort
    .SetRange Range(Cells(title_paste_start, 1), Cells(duplicates_end, 1))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
 
'Werbung holen
 
For duplicates = 11 To 1000
 
    If IsEmpty(Cells(duplicates, 1)) Then
    Else
     
        Sheets(1).Select
        commercial_finder = Cells(duplicates, 1).Value
        copy_max = 0
         
        For sheet = sheet_counter_start To sheet_counter_end
            Sheets(sheet).Select
            For row_search = 1 To 1000
                If Cells(row_search, 1).Value = commercial_finder Then
                    num_finder = row_search
                    Do Until IsNumeric(Cells(num_finder, 1))
                        num_finder = num_finder + 1
                    Loop
                    copy_start = num_finder
                     
                    Do While IsNumeric(Cells(num_finder, 1))
                        num_finder = num_finder + 1
                        If Cells(num_finder, 1) = "Presenter2D" Or Cells(num_finder, 1) = "Presenter3D" Then
                            num_finder = num_finder + 1
                        End If
                    Loop
                    num_finder = num_finder - 1
                    copy_end = num_finder
                    copy_dif = copy_end - copy_start + 1
                     
                    'Range(Cells(copy_start, 2), Cells(copy_end, 2)).Select
                    'Selection.Copy
                    MsgBox ("")
                     
                    If copy_max < copy_dif Then
                        copy_max = copy_dif
                    End If
                End If
            Next row_search
        Next sheet
         
        Sheets(1).Select
         
        For row_search = 11 To 1000
            If Cells(row_search, 1).Value = commercial_finder Then
                insert_row = row_search + 1
                Cells(insert_row, 2).Select
                MsgBox (copy_max)
                 
                For insert_rowx = 0 To copy_max
                    ActiveCell.EntireRow.Insert
                Next insert_rowx
 
                 
            End If
        Next row_search
         
        
        MsgBox ("xx")
        
         
         
         
            
    End If
Next duplicates
 
'ActiveCell.EntireRow.Insert
'ActiveCell.EntireRow.ClearContents
 
Sheets(1).Select
'Application.ScreenUpdating = True
 
 
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
15.11.2016 12:11:25 Hagen
NotSolved
15.11.2016 12:21:39 Mario
NotSolved
Rot Problem mit der Zwischenablage in VBA
15.11.2016 12:22:45 Gast35260
NotSolved
15.11.2016 12:26:39 Hagen
NotSolved
15.11.2016 19:15:41 Mario
NotSolved