Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
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

Select kürzere Schreibweise

Select kürzere Schreibweise
10.01.2015 11:24:17
Dieter(Drummer)

Guten Tag, VBA Könner/innen
Select und Activate ist ja meistens nicht nötig. Wie kann ich denn die folgenden Zeilen richtig setzen (aus einer Makro Aufzeichung):
Sheets("V01").Select
Range("A1:N426").Select
Application.Run "Mx.xlm!absolutBezuege"
Sheets("V01").Select
Range("A1:N426").Select
Application.Run "Mx.xlm!absolutBezuege"

u.s.w.
Anschliessend wird ein Makro aufgerufen und in den Tabs V01 bis V030 werden die Formeln per Makro von Hajo auf absolut gesetzt.
Wärew toll, wenn ich die TABs nicht einzeln im Makro aufrufen müsste, sondern die TABs V01 bis V30, immer mit Markierung A1:N426, durchlaufen würden.
Danke für evtl. Hilfe und
Gruß, Dieter(Drummer)

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Select kürzere Schreibweise
10.01.2015 11:27:04
Hajo_Zi
nur
Application.Run "Mx.xlm!absolutBezuege"
Application.Run "Mx.xlm!absolutBezuege"

AW: Select kürzere Schreibweise
10.01.2015 11:31:48
Hajo_Zi
oder
Application.Run "Mx.xlm!absolutBezuege", Sheets("V01").Range("A1:N426")
Application.Run "Mx.xlm!absolutBezuege", Sheets("V01").Range("A1:N426")
Du wolltest es ja selber in Dein Makro einarbeiten, darum nicht der gesamte Code.
Gruß Hajo

AW: Die einzelnen Tabs sollen ...
10.01.2015 11:35:19
Dieter(Drummer)
... alle Tabs, V01 bis V30, sollen hintereinander aktiviert und die Formeln sollen dann absolut gesetzt werden. Da muss doch meine bisherige Schreibweise anders sein. Oder?
Gruß, Dieter(Drummer)

Anzeige
AW: Die einzelnen Tabs sollen ...
10.01.2015 11:37:54
Hajo_Zi
gut Du möchtest nicht den kompletten Code posten, da Du es selber anpassen möchtest, ich bin dann raus.
Option Explicit
Sub Makro()
absolutBezuege Sheets("V01").Range("A1:N426")
absolutBezuege Sheets("V01").Range("A1:N426")
End Sub
Sub absolutBezuege(RaRange As Range)
MsgBox RaRange.Parent.Name & " " & RaRange.Address
End Sub
Gruß Hajo

AW: Sorry Hajo ...
10.01.2015 12:32:03
Dieter(Drummer)
so war das nicht von mir gemeint. Diesen Code habe ich aufgezeichnet und kann bestimmt kürzer sein:
  • 
    Sub AbsolutBezuegeAlleTabs()
    ' AbsolutBezuegeAlleTabs setzen Mx aufgezeichnet
    Sheets("VeraV01").Select
    Range("A1:N426").Select
    Application.Run "Mx.xlm!absolutBezuege"
    Range("A2").Select
    Sheets("V02").Select
    Range("A1:N426").Select
    Application.Run "Mx.xlm!absolutBezuege"
    Range("A2").Select
    Sheets("V03").Select
    Range("A1:N426").Select
    Application.Run "Mx.xlm!absolutBezuege"
    Range("A2").Select
    End Sub
    

  • So soll es dann von TAB V01 bis TAB V30 gehen.
    Wäre toll, wenn Du da nochmal hilfst.
    Gruß, Dieter(Drummer)

    Anzeige
    AW: Select kürzere Schreibweise
    10.01.2015 12:45:42
    Gerd L
    Hallo Dieter!
    Die Rückfrage sollte wohl sein:
    Wie sieht dein Makro "absolutBezuege" aus?
    Gruß Gerd

    AW: Das habe ich doch von Hajo
    10.01.2015 13:01:52
    Dieter(Drummer)
    Hier ist das Makro von Hajo, dass auch prima funktioniert. Ich möchte nur nicht jedes einzelne TAB aktivieren, sondern automatisch soll in allen TABs, Mx01 bis Mx30, Bereich A1:N426, die absoluten Bezüge gesetzt werden:
    '
    
    Sub absolutBezuege()
    ' von L.Vira von Herber.de
    ' Bezüge in absolut umwandeln
    Dim RaC As Range
    For Each RaC In Selection
    If RaC.HasFormula = True Then
    RaC.Formula = Application.ConvertFormula(RaC.Formula, xlA1, , xlAbsolute)
    End If
    Next
    End Sub
    
    Evtl. gibt es da ja doch noch Hilfe.
    Gruß, Dieter(Drummer)

    Anzeige
    Schleife über Sheets- Recherche... owT
    10.01.2015 13:16:52
    robert

    AW: Das krieg ich so nicht hin ...
    10.01.2015 13:32:32
    Dieter(Drummer)
    Hi Robert,
    da fehlt mir einfach der Wissenstand, dass trotz Recherche zu schaffen.
    'Von Hajo
    Sub AbsBez()
    absolutBezuege Sheets("Mx02").Range("A1:N426")
    absolutBezuege Sheets("Mx03").Range("A1:N426")
    End Sub
    

    'von Hajo
    Sub absolutBezuege(RaRange As Range)
    MsgBox RaRange.Parent.Name & " " & RaRange.Address
    End Sub
    

    Sub absolutBezuege()
    ' von L.Vira von Herber.de
    ' Bezüge in absolut umwandeln
    Dim RaC As Range
    For Each RaC In Selection
    If RaC.HasFormula = True Then
    RaC.Formula = Application.ConvertFormula(RaC.Formula, xlA1, , xlAbsolute)
    End If
    Next
    End Sub
    
    Das läuft nicht so ab, dass alle 30 TABs, Mx02 bis Mx30, A1:N426, durchlaufen und die absoluten Bezüge gesetzt werden.
    Vielleicht kann man mir weiter helfen.
    Gruß, Dieter(Drummer)

    Anzeige
    AW: Das habe ich doch von Hajo
    10.01.2015 13:26:25
    hary
    Moin Dieter
    Ungetestet.
    Dim RaC As Range
    Dim wks As Worksheet
    For Each wks In Worksheets
    If wks.Name Like "Mx*" Then
    For Each RaC In wks.Range("A1:N426").SpecialCells(xlCellTypeFormulas)
    RaC.Formula = Application.ConvertFormula(RaC.Formula, xlA1, , xlAbsolute)
    Next
    End If
    Next
    

    gruss hary

    AW: Danke Hary, fuktioniert prima.
    10.01.2015 13:41:59
    Dieter(Drummer)
    ... es funktioniert bei mir prima, dauert zwar einige Zeit, aber es sind auch insgesamt rund 100.000 Formeln :-).
    Meinen Dank an ALLE, Hajo, Gerd L, Robert und Hary.
    Gruß und ein schönes WE,
    Dieter(Drummer)

    AW: Welches TAB wird gerade beabeitet
    10.01.2015 16:14:54
    Dieter(Drummer)
    Hi Hary,
    kannst Du mir Dein Makro - das prima funktioniert - etwas erweitern?
    Erweiterung/Anpassung, damit:
    a) zu sehen ist, auf welchem TAB gerade die absoluten Bezüge gesetzt werden
    b) am Ende die Anzahl aller Formeln, die absolut gesetzt wurden, angezeigt wird.
    Freue mich, wenn Du das noch anpassen kannst.
    Danke für die Mühe und
    Gruß, Dieter(Drummer)

    Anzeige
    AW: @Hary: Formeln zählen habe ich! owT
    10.01.2015 19:23:49
    Dieter(Drummer)
    Gruß, Dieter(Drummer)

    AW: Anzeige
    11.01.2015 09:05:55
    hary
    Moin
    Du koenntest in der Statusbar den Namen der Tabelle anzeigen lassen, wenn das reicht.
    If wks.Name Like "Mx*" Then
    Application.StatusBar = wks.Name & " wird bearbeitet"
    

    gruss hary

    AW: Danke Hary, dass reicht schon so
    11.01.2015 09:24:35
    Dieter(Drummer)
    Hi Hary,
    Danke für Deine Hilfe, da komme ich schon mit klar,
    Noch einen schönen Sonntag und
    Gruß, Dieter(Drummer)

    AW: Das habe ich doch von Hajo
    10.01.2015 13:40:56
    Hajo_Zi
    Dieter in diesem Beitrag habe ich Dir nicht den oben geposteten Code gepostet, also behaupte so was nicht. Ich hatte mehrmals darauf hingewiesen das der gesamte Code gepostet werden soll. Das wolltest Du nicht da Du selber das anpassen wolltest. Also mache es auch..
    Gruß Hajo

    Anzeige
    AW: Sorry Hajo ...
    10.01.2015 13:52:43
    Dieter(Drummer)
    ich will Dir nicht auf die Füße treten. Es ist auch nicht meine Absicht bewusst etwas falsches zu behaupten!
    Ich habe dann wohl Deine Rückmeldung falsch interpretiert. Sorry!
    Für mich ist der Vorgang dann erledigt, da ich Harys Variante nutze. Dennoch Dank an Dich für Deine Hilfe.
    Es gibt auch keinen Grund, von mir anzunehmen, dass ich etwas unsachgemässiges behaupten möchte. Dein Art ist immer sehr knapp und sachlich, da kann wohl nicht jeder so schnell und direkt mit klar kommen und entsprechende Rückmeldung geben.
    Ich schätze Deine und die Hilfe aller Forumsteilnehmer seit vielen Jahren und werde es weiter nutzen und auch die Güte der Hilfe an andere weitergeben.
    Mit Gruß,
    Dieter(Drummer)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige