MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

 
Ads
Themen-Optionen Ansicht
Alt 08.09.2017, 13:37   #1
Mikrofon
Neuer Benutzer
Neuer Benutzer
Standard VBA - Bestimmte Tabelle ansprechen

Hi,

ich habe Folgenden Code geschrieben, teils auch mit eurer Hilfe.

Code:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
    
            'Bank 'Januar
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AJ13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Bankgebühren, Gewerkschaftsbeitrag, Haftplfichtvers., Rechtsschutzvers., Berufsunfähigkeitsvers., Altersvorsorge, Andere Vers., Kredit, Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AL13") _
               , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                 "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
               , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("AJ13:AM999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With

               
                For al = 100 To 13 Step -1
                    If InStr(1, Range("AJ" & al), "/", vbTextCompare) > 0 Then
                    Range("AJ" & al & ":AM" & al).Delete Shift:=xlUp
                    End If
                Next al
                
                
            'Auto
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AE13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Miete, Heizkosten, Müll, Wasser, Verwaltung, Strom, Reparaturen, Hausmeister, Grundsteuer, Hausratversicherung, Wohngebäudevers., Andere Vers., Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AG13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                  "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
                , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("AE13:AH999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With
                
                Active.Workbook.Worksheets ("Januar")
                For ag = 100 To 13 Step -1
                    If InStr(1, Range("AE" & ag), "/", vbTextCompare) > 0 Then
                    Range("AE" & ag & ":AH" & ag).Delete Shift:=xlUp
                    End If
                Next ag
                
                
            'Wohnen
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("Z13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Miete, Heizkosten, Müll, Wasser, Verwaltung, Strom, Reparaturen, Hausmeister, Grundsteuer, Hausratversicherung, Wohngebäudevers., Andere Vers., Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AB13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                  "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
                , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("Z13:AC999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With
                
                For ab = 100 To 13 Step -1
                    If InStr(1, Range("Z" & ab), "/", vbTextCompare) > 0 Then
                    Range("Z" & ab & ":AC" & ab).Delete Shift:=xlUp
                    End If
                Next ab
            
            
            'Anschaffungen
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("U13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Kleidung, Schmuck, Technik, Bücher, Musik, Werkzeuge, Möbel / Deko, Abzahlungen, Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("W13") _
               , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                 "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
               , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("U13:X999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With
                 
                 For w = 100 To 13 Step -1
                     If InStr(1, Range("U" & w), "/", vbTextCompare) > 0 Then
                     Range("U" & w & ":X" & w).Delete Shift:=xlUp
                     End If
                 Next w
    
    
            'Lebenshaltung
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("P13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Lebensmittel, Getränke, Pflegeprodukte, Handyvertrag, Fitnessstudio, Freizeit, Medikamente, Friseur, Bürobedarf, Essensmarken, Abo´s, Reisen, Geschenke / Spenden, öffentl. Verkehrsmittel, Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("R13") _
               , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                 "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
               , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("P13:S999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With
                 
                 For r = 100 To 13 Step -1
                     If InStr(1, Range("P" & r), "/", vbTextCompare) > 0 Then
                     Range("P" & r & ":S" & r).Delete Shift:=xlUp
                     End If
                 Next r


Es geht um folgenden Teil.
Dieser spricht im Moment nur die geöffnete Tabelle an. Er soll allerdings die Tabelle "Januar" ansprechen.

Ich habs mit
Code:

            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AJ13") _
                , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                "/, Bankgebühren, Gewerkschaftsbeitrag, Haftplfichtvers., Rechtsschutzvers., Berufsunfähigkeitsvers., Altersvorsorge, Andere Vers., Kredit, Sonstiges " _
                , DataOption:=xlSortNormal
            ActiveWorkbook.Worksheets("Januar").Sort.SortFields.Add Key:=Range("AL13") _
               , SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
                 "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" _
               , DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Januar").Sort
                .SetRange Range("AJ13:AM999")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
                Range("A1").Select
            End With

          With Worksheets("Januar")
                For al = 100 To 13 Step -1
                    If InStr(1, Range("AJ" & al), "/", vbTextCompare) > 0 Then
                    Range("AJ" & al & ":AM" & al).Delete Shift:=xlUp
                    End If
                Next al
             End With
versucht.

Leider wurde der letzte Teil dann nicht ausgeführt (Er soll die oberen Zeilenbereiche mit "/" löschen.

Zum besseren Verständnis habe ich eine Beispieldatei eingefügt.

Grüße
Angehängte Dateien
Dateityp: xlsm Download.xlsm (133,1 KB, 4x aufgerufen)
Mikrofon ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.