Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

makros verbinden und turbo einbauen

makros verbinden und turbo einbauen
14.08.2013 10:05:50
David
guten morgen allerseits,
ich habe folgende makros:
Sub Zeilenausblenden1()
Dim iZeile As Long
For iZeile = 9 To 49
If Cells(iZeile, "AJ") = 0 Then
Rows(iZeile).EntireRow.Hidden = True
Else
Rows(iZeile).EntireRow.Hidden = False
End If
Next iZeile
End Sub

Sub Zeilenausblenden2()
Dim iZeile As Long
For iZeile = 52 To 132
If Cells(iZeile, "AJ") = 0 Then
Rows(iZeile).EntireRow.Hidden = True
Else
Rows(iZeile).EntireRow.Hidden = False
End If
Next iZeile
End Sub

Sub Zeilenausblenden3()
Dim iZeile As Long
For iZeile = 135 To 215
If Cells(iZeile, "AJ") = 0 Then
Rows(iZeile).EntireRow.Hidden = True
Else
Rows(iZeile).EntireRow.Hidden = False
End If
Next iZeile
End Sub

Diese möchte ich verbinden, weiß aber nicht wie. habe es mit ElseIf versuch und dann die Zeilen bezeichnung von i auf ii geändert. das ging aber nicht.
insgesammt gibt es 26 solcher makros, die alle zu einem makro umgebaut werden sollen.
hinzu kommt das es sich hier um ein sehr großes Tabellenblatt handelt, insgesammt 1500 zeilen müssen ein oder ausgeblendet werden. das dauert und der bildschirm flackert wenn ich den makro einschalte. es soll aber professionell aussehen und schnell gehen.
habe folgende befehle gefunden mit denen das möglich ist, kann sie aber nicht einbauen weil ich fehlermeldungen bekomme:
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
und am ende des makros wieder einschalten:
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
hat jemand eine ahnung wie ich die drei oberen makros zu einem makro verbinde und wie ich den turbo-befehl davor schalte?
hinzu kommt das die 3 bzw. 26 makros in einem submasterroutine hinterlegt sind. d.h. ich drücke in einem Tabellenblatt auf eine spezielle Taste und es werden die Makros in dem großen Tabellenblatt ausgelöst (mit den 1500 Zeilen) Muss der Turbo-BEfehl dann auch in den submasteroutine eingebaut werden oder reicht wenn ich es in den eigentlich Makro baue.
beste grüße, david

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
zwischenfrage
14.08.2013 11:12:20
selli
hallo david,
was steht denn in den zellen die nicht von den schleifen erfasst werden?
wenn auszuschliessen ist dass dort "AJ" steht, kannst du doch alles in einer schleife abarbeiten.
gruß
selli

AW: zwischenfrage
14.08.2013 11:30:13
David
hey selli,
in den zellen die nicht von den makros erfasst werden stehen summen oder leere zellen.
jeder makro deckt aber eine andere zeilenanzahl ab. makro eins zb 35, der nächste dann wieder eine andere anzahl. in jedem makro wird die spalte aj als bezug genommen. dabei sind aber die zahlen, bzw. Nullen in AJ immer auf einen Bereich je Makro zugeordnet. In dem makro eins mit 35 Zeilen befinden sich also 35 Zellen in AJ, von denen bestimmt Zellen o sind, die dann wiederum ausgeblendet werden sollen. In einem anderen makro-bereich können es aber 80 Zeilen sein. In AJ sind dann also mehr Nullen zu finden.
Ich hoffe ich konnte die Zwischenfrage beantworten.
Gruß, david

Anzeige
AW: zwischenfrage
14.08.2013 11:35:49
selli
hallo david,
mein fehler. hatt das nur überflogen und die anführungsstriche gesehen.
trotzdem würde ich nach einer zweitbedingung suchen, um den berei der schleifen zusammenzufassen.
26 (fast) identische makros müssen nicht sein, aber nur du weisst, was du filtern willst.
gruß
selli

AW: zwischenfrage
14.08.2013 11:32:54
David
die frage ist also wie ich die verschiedenen makros verbinde, ohne deren inhalt, also die Zeilen-Abschnitte zu verändern. das problem ist nämlich, dass in den Zeilen zwischen den Makros auch Nullen stehen können.

AW: zwischenfrage
14.08.2013 11:50:46
selli
hallo david,
neues makro einfügen und nur dieses ausführen. versuch.
Sub allemakros()
Application.ScreenUpdating = False
For Z = 1 To 26
Application.Run "Zeilenausblenden" & Z
Next Z
Application.ScreenUpdating = True
End Sub

gruß
selli

Anzeige
AW: zwischenfrage
14.08.2013 15:09:18
David
danke für den tip! nur leider funktioniert es nicht.
ich bekomme die fehlermeldung Laufzeitfehler 1004 Anwqendungs- oder objektdefinierter Fehler.
Wenn ich das & Zeichen durch ein and ersetze bekomme ich die fehlermeldung fehler 13 Typen unverträglich.
Damit du dir ein besseres Bild machen kannst:
In dem Tabllenblatt wo dieser Makro hinterlegt ist sind noch einige weiter Makros. Sie stehen im VBA davor. Dann kommt der Makro den du mir vorgescvhlagen hast. Daann folgen die 26 einzelknen Makros. Sie haben alle den gleichen Namen mit einer durchlaufenden Nummer, also 1 bis 26.
erkennt dein makro diese 26 indem er für Z 1 bis 26 annimmt und dann in der nächsten Zeile mit dem &Zeichen mit Zeilenausblenden verbindet?
Danke für deine HIlfe!°
gruß,
david
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige