Makro schreiben

Dieses Thema Makro schreiben im Forum "Microsoft Office Suite" wurde erstellt von simdipl, 30. Mai 2005.

Thema: Makro schreiben hallo zusammen ich soll einen Makro schreiben mit dem man von 50 Tabellenblätter die Maxima werte auf dem 51....

  1. hallo zusammen

    ich soll einen Makro schreiben mit dem man von 50 Tabellenblätter die Maxima werte auf dem 51. Tabellenblatt aufgelistet bekommt. Dabei habe ich Probleme mit dem Schleifen schreiben. Genauer mit dem verändern der Tabellenblätter, so dass die Tabellen blätter laufen. Also das Maxima von Tabelle 1 und das Maxima von Tabelle 2.
    Sowie das durchschleifen der Eintragsfelder im 51. Tabellenblatt so das der Wert aus dem 1. Blatt in B2 steht und der aus dem 2. in B3 und so weiter.
    Ich muss dazu sagen das ich noch nie etwas mit Makros zu tun hatte und ich denke das es wahrscheinlich eine einfache Lösung gibt. Könnt ihr mir helfen.

    Schon mal Danke im voraus

    Schöne Grüße

    simdipl
     
  2. hi

    ich hab dir mal was gemacht. Ganz einfaches ding mit Formeln =)

    Code:
    Sub maximalwertevon()
    Dim lastcell As String, bereich As String, ziel As String, y As Long
    
    y = 1
    For x = 1 To 50
    
    ->Hier wird der Ort definiert wo die Formel dann reinkommt
     y = y + 1
     
    ->Die letzte Zelle wird ermittelt
     lastcell = Worksheets(x).Cells.SpecialCells(xlCellTypeLastCell).Address(Rowabsolute:=0, Columnabsolute:=0)
     
    ->Hier wird bestimmen in welcher Region die grösste Zahl gesucht wird
     bereich = A1: & lastcell
     
    ->Hier worein es geschrieben wird.
     ziel = B & y
     
    ->Und hier wird das ganze als formel im letzten Worksheet (51) geschrieben
     Worksheets(51).Range(ziel).Formula = =MAX( & Worksheets(x).Name & !A1: & lastcell & )
    Next
    
    End Sub
    
    Hinweis: So wies jetzt steht, wird das letzte Tabellenblatt NUR mit Formeln gefüllt. Falls du jetzt eine löschst, kein problem. Einfach das ganze nochmals ausführen

    Hoffe du verstehst meine Kommentare ^^ sonst einfach fragen

    mfg billy
     
  3. Hi billy

    Danke für das Tool ich habe es schon ein wenig abändern müssen, aber es hilft mir schon viel.
    Leider habe ich noch ein Problem damit, ich möchte nur noch auf die Werte aus einer Spalte in den Tabellen zugreifen.
    Ich weiß das ich in der Zeile:

    lastcell = Worksheets(x).Cells.SpecialCells(xlCellTypeLastCell).Address(Rowabsolute:=0, Columnabsolute:=0)

    etwas ändern muss aber ich weiß nicht wie. Kannst Du mir helfen?

    mfg

    simdipl
     
  4. ich nehme an dass die spalte die du haben willst zufälligerweise auch die spalte ist in der am meisten drinn steht oder irre ich mich da?
     
  5. Datenblockeider falsch angenommen es handelt sich hier bei um einen rechteckigen datenblock. Es gibt ein Zeitpunkt z.B. in Spalte A, wo dann Daten in den übrigen Spalten die erfassten Daten sind. Also alle Spalten sind Gleich lang.
    hier noch ein Bsp: ich suche nur den Max Wert der Spalte C von allen Sheets.

    Aber zu dem Code nochmals was bedeutet eigentlich die Zeile: bereich = A1: & lastcell
    Ich sehe nicht wofür die weiter verwendet wird?

    mfg

    simdipl
     
  6. hi

    das kann ich dir sagen... du hast ja geschrieben
    und da hab ich angenommen du brauchst von dem ganzen Tabellenblatt den Maximal wert

    aber wenn du ihn nur von einer Spalte brauchst wäre das natürlich einfacher ^^

    Code:
    Sub maximalwertevon()
    Dim bereich As String, ziel As String, y As Long
    
    y = 1
    For x = 1 To 50
    
    ->Hier wird der Ort definiert wo die Formel dann reinkommt
     y = y + 1
     
    ->Hier wird bestimmen in welcher Spalte gesucht wird
     bereich = A:A
     
    ->Hier worein es geschrieben wird.
     ziel = B & y
     
    ->Und hier wird das ganze als formel im letzten Worksheet (51) geschrieben
     Worksheets(51).Range(ziel).Formula = =MAX( & Worksheets(x).Name & ! & bereich & )
    Next
    
    End Sub
    
    siehst ja die wichtigsten änderungen oder? ^^

    hoffe dass es nun geht =)
     
  7. Hi billy

    rechtherzlichen Dank für deine Hilfe es läuft und ich habe auch verstanden wieso einige Dinge drin stehen, die vorher unklar waren.

    Eine Frage zur Syntax hätte ich noch und zwar was kommentieren die doppelten Hochkomma in den Klammeren und was bedeuten die & in den Zuweisungen? Sind dies die Anfang- und Endzeichen für Strings oder was darf ich darunter verstehen?

    Ich weiß das haut dich jetzt vom Stuhl aber ich möchte den Code halt ganz verstehen und nicht nur das Problem gelöst haben.

    Wäre nett wenn du mir das noch mitteilen könntest ansonsten wünsche ich Dir noch ein schönen Wochenende

    MFG

    Martin
     
  8. hi

    da weisst du aber nicht viel über mich. Mich hauen nur wenige sachen vom Stuhl ^^, aber egal.

    Du hast schon recht das mit den Strings. sind anfangs und schlusszeichen. und die & verbinden den ganzen käse zusammen. wenn du jetzt z.B.

    ziel = B & y nimmst und du würdest nur ziel = B & y schreiben. Intepretiert das Makro B als eine variabel.

    hoffe hast das verstanden mit meiner erklärung *lal* (ohne dass es dich von den Socken haut :D)

    mfg billy
     
Die Seite wird geladen...

Makro schreiben - Ähnliche Themen

Forum Datum
Versuche mal wieder ein Makro zu schreiben... Windows XP Forum 15. Apr. 2005
Makro in Excel schreiben Microsoft Office Suite 7. Apr. 2005
Makro schreiben Microsoft Office Suite 2. März 2005
Excel VBA Makro zum suchen eines Textes und anschließend einen Breich zu kopieren Microsoft Office Suite 22. Jan. 2015
Word 2013 VBA: Makro aus einer anderen Datei aufrufen Microsoft Office Suite 16. Juni 2014