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:
729
Rating: Antwort:
  Ja
Thema:
Problem mit der Zwischenablage in VBA
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