Dim gl_erste_zeile_der_tabelle As Integer Dim gl_letzte_zeile_der_tabelle As Integer Dim gl_zeile_in_der_das_suchwort_steht As Integer '--------------------------------- Datenbank anlegen /START Sub viele_ordner_anlegen() Dim ordner_name(1 To 1001) As String verzeichnis = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C3").Value anzahl_neue_ordner = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C6").Value For i = 1 To anzahl_neue_ordner w = i + 7 f = i + 4 If i < 10 Then m = "todo_" & "000" & i ElseIf i < 100 Then m = "todo_" & "00" & i ElseIf i < 1000 Then m = "todo_" & "0" & i ElseIf i >= 1000 Then m = "todo_" & i End If ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C" & w).Value = m ActiveWorkbook.Worksheets("TODO_LISTE").Range("E" & f).Value = m Next i For i = 1 To anzahl_neue_ordner w = i + 7 ordner_name(i) = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C" & w).Value Call ordner_anlegen(ordner_name(i)) Next i Sheets("TODO_LISTE").Select Call Links_zu_Ordnern_erzeugen Sheets("INHALTSVERZEICHNIS").Select Sheets("datenbank_anlegen").Select End Sub Sub ordner_anlegen(ordner_name As String) verzeichnis = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C3").Value gesamtter_pfad = verzeichnis & "\" & ordner_name MkDir gesamtter_pfad End Sub '--------------------------------- Datenbank anlegen /ENDE Sub schreibe_neue_seiten() Dim name_der_tabellenblaetter(1 To 1001) As Integer Dim soviele_neue_blaetter_ergaenzen As Integer soviele_neue_blaetter_ergaenzen = ActiveWorkbook.Worksheets("Inhaltsverzeichnis").Range("A2").Value For i = 1 To soviele_neue_blaetter_ergaenzen h = i + 4 k = soviele_neue_blaetter_ergaenzen + 1 - i name_der_tabellenblaetter(i) = k ActiveWorkbook.Worksheets("TODO_LISTE").Range("C" & h).Value = "blatt_" & i Call fuege_neues_blatt_hinzu(CStr(name_der_tabellenblaetter(i))) Next i Sheets("TODO_LISTE").Select For i = 1 To soviele_neue_blaetter_ergaenzen k = i + 4 Range("C" & k).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'" & CStr(i) & "'" & "!A1", TextToDisplay:="blatt_" & CStr(i) Next i Sheets("Inhaltsverzeichnis").Select Call schreibe_inhaltsverzeichnis Call schreibe_format Sheets("Inhaltsverzeichnis").Select End Sub Sub fuege_neues_blatt_hinzu(name_blatt As String) Sheets("Inhaltsverzeichnis").Select Sheets.Add After:=ActiveSheet ActiveSheet.Name = name_blatt End Sub Sub schreibe_inhaltsverzeichnis() Dim zaehler_tabellenblaetter As Integer Dim array_speichert_tabellen_blatter(1 To 1050) As String Dim zeile As Integer Dim ZEILEN_OFFSET As Integer '----------------------------------------- ' Parmter setzen ARBEITS_SPALTE = "B" ZEILEN_OFFSET = 4 '----------------------------------------- Columns(ARBEITS_SPALTE & ":" & ARBEITS_SPALTE).Select Selection.ClearContents zaehler_tabellenblaetter = 1 Dim WsTabelle As Worksheet For Each WsTabelle In Sheets With WsTabelle array_speichert_tabellen_blatter(zaehler_tabellenblaetter) = WsTabelle.Name End With zaehler_tabellenblaetter = zaehler_tabellenblaetter + 1 Next WsTabelle For i = 1 To (zaehler_tabellenblaetter - 1) Step 1 zeile = i + ZEILEN_OFFSET Range(ARBEITS_SPALTE & zeile).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ array_speichert_tabellen_blatter(i) & "!A1", TextToDisplay:=array_speichert_tabellen_blatter(i) Next i End Sub Sub schreibe_format() soviele_neue_blaetter_ergaenzen = ActiveWorkbook.Worksheets("Inhaltsverzeichnis").Range("A2").Value Dim read_val As String tabellen_blatter_ohne_index = 5 '' 300 For i = 1 To soviele_neue_blaetter_ergaenzen '570 w = i + (4 + tabellen_blatter_ohne_index) read_val = ActiveWorkbook.Worksheets("Inhaltsverzeichnis").Range("B" & w).Value Call setze_format(read_val) Next i Call links End Sub Sub setze_format(read_val_ As String) Sheets("format_").Select Cells.Select Selection.Copy Sheets(read_val_).Select Cells.Select ActiveSheet.Paste End Sub Sub links() Dim i As Integer soviele_neue_blaetter_ergaenzen = ActiveWorkbook.Worksheets("Inhaltsverzeichnis").Range("A2").Value For i = 1 To soviele_neue_blaetter_ergaenzen k = i + 4 Sheets(CStr(i)).Select Range("C1").Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ "'TODO_LISTE'!A" & k, TextToDisplay:="jump_back" Rows("1:1").Select With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With Next i End Sub Sub time_() aktuelle_zeile = ActiveCell.Row ActiveWorkbook.Worksheets("TODO_LISTE").Range("B" & aktuelle_zeile).Value = Format(Now, "YYYY" & "_" & "MM" & "_" & "DD" & " " & "hh" & ":" & "mm" & ":" & "ss") Call filter_nach_zeit End Sub Sub show__() Rows("1:1012").Select Range("A1012").Activate Selection.EntireRow.Hidden = False Range("E5").Select End Sub Sub FILTER_FUER_SPALTE_H() Call init_filter__ Call FILTER__("H", "TODO_LISTE") End Sub Sub FILTER_FUER_SPALTE_I() Call init_filter__ Call FILTER__("I", "TODO_LISTE") End Sub Sub FILTER_FUER_SPALTE_J() Call init_filter__ Call FILTER__("J", "TODO_LISTE") End Sub Sub FILTER_FUER_SPALTE_K() Call init_filter__ Call FILTER__("K", "TODO_LISTE") End Sub Sub FILTER_FUER_SPALTE_G() Call init_filter__ Call FILTER__("G", "TODO_LISTE") End Sub Sub FILTER_FUER_SPALTE_E() Call init_filter__ Call FILTER__("E", "TODO_LISTE") End Sub Sub init_filter__() gl_erste_zeile_der_tabelle = 5 gl_letzte_zeile_der_tabelle = 1004 Sheets("TODO_LISTE").Select Rows(gl_erste_zeile_der_tabelle & ":" & gl_letzte_zeile_der_tabelle).Select Selection.EntireRow.Hidden = True gl_zeile_in_der_das_suchwort_steht = 1 End Sub Sub FILTER__(spalten_buchstabe As String, name_des_blattes As String) Dim aktueller_name_des_tabellenblattes As String aktueller_name_des_tabellenblattes = ActiveSheet.Name Dim pruefe_diesen_zellwert As String Dim suche_nach_diesem_string As String suche_nach_diesem_string = ActiveWorkbook.Worksheets(name_des_blattes).Range(spalten_buchstabe & gl_zeile_in_der_das_suchwort_steht).Value For k = gl_erste_zeile_der_tabelle To gl_letzte_zeile_der_tabelle Step 1 pruefe_diesen_zellwert = ActiveWorkbook.Worksheets(name_des_blattes).Range(spalten_buchstabe & k).Value rueckgabewert = InStrRev(pruefe_diesen_zellwert, suche_nach_diesem_string, , vbTextCompare) If (rueckgabewert > 0) Then Rows(k & ":" & k).Select Selection.EntireRow.Hidden = False ' wenn was gefunden wurde wieder einblenden End If Next k Range("A1").Select End Sub Sub filter_nach_zeit() ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort.SortFields _ .Clear ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort.SortFields _ .Add2 Key:=Range("Tabelle1[[#All],[LAST UPDATE]]"), SortOn:=xlSortOnValues _ , Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Sub new_element() flag = 1 erste_zeile_der_liste = 5 offset = erste_zeile_der_liste - 1 For i = 1 To 1100 zeile = i + offset iterations_wert_wert_der_liste = ActiveWorkbook.Worksheets("TODO_LISTE").Range("B" & zeile).Value If iterations_wert_wert_der_liste = "" And flag = 1 Then flag = 0 merke_dir_die_erste_freie_zeile = zeile End If Next i ActiveWorkbook.Worksheets("TODO_LISTE").Range("B" & merke_dir_die_erste_freie_zeile).Value = Format(Now, "YYYY" & "_" & "MM" & "_" & "DD" & " " & "hh" & ":" & "mm" & ":" & "ss") Call filter_nach_zeit Range("H5").Select End Sub Sub unfilter_time() Application.CutCopyMode = False ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort.SortFields _ .Clear ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort.SortFields _ .Add2 Key:=Range("Tabelle1[[#All],[Datenbank]]"), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("TODO_LISTE").ListObjects("Tabelle1").Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub Sub Links_zu_Ordnern_erzeugen() Dim i As Integer Dim w As Integer Sheets("TODO_LISTE").Select anzahl_neue_ordner = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C6").Value verzeichnis = ActiveWorkbook.Worksheets("datenbank_anlegen").Range("C3").Value For i = 1 To anzahl_neue_ordner w = i + 4 name_des_ordners = ActiveWorkbook.Worksheets("TODO_LISTE").Range("E" & w).Value verzeichnis_neu = verzeichnis & "\" & name_des_ordners 'MsgBox verzeichnis_neu Range("E" & CStr(w)).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ verzeichnis_neu, TextToDisplay:=name_des_ordners Next i Range("A1").Select End Sub Sub jump___() Sheets("Inhaltsverzeichnis").Select End Sub