[Code] [Visual Basic] Hilfe bei Makro

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Don Pablo, 20. Mai 2009 .

  1. 20. Mai 2009
    [Visual Basic] Hilfe bei Makro

    Hallo zusammen!
    ich benötige eure Hilfe, ich bin gerade dabei eine excel tabelle mit sehr vielen daten aus einem versuch auszuwerten!
    dafür ist ein makro vorhanden, dass ich ein bisschen abändern musste, hat soweit auch alles geklappt!

    da ich aber eigentlich nicht viel ahnung von visual basic habe, sitze ich jetzt vor einem kleinen problem...

    hier ein screenshot:

    http://www3.pic-upload.de/20.05.09/8h55hv.jpg

    erklärung:

    Kraft min/max und Weg min/max wird aus jeweils 25 Zeilen von AP und AQ berechnet....MAX(AP82:AP106)...MIN(AP82:AP106) usw....
    aus den ersten 25 Zeilen ist das die Kraft -304....

    Mein Problem:
    jetzt bräuchte ich noch eine funktion die mir AR-AZ werte von diesen zeilen hintenreinkopiert (BC-...), also quasi für den ersten wert -304 die markierte Zeile im Screen, in BC82-...!

    der Code sieht so aus:

    Code:
    'Berechnung Min/Max
    
    Dim zaehler6 As Long
    Dim n As Integer
    
    Range("A82").Select
    Range(Selection, Selection.End(xlDown)).Select
    zaehler6 = Selection.Rows.Count
    Range("BA93").Select
    
    n = 0
    Do While n < zaehler6
    
    'Kraft
     ActiveCell.FormulaR1C1 = "=Min(R[-11]C[-11]:R[13]C[-11])"
     ActiveCell.Offset(1, 0).Range("A1").Select
     ActiveCell.FormulaR1C1 = "=Max(R[-12]C[-11]:R[12]C[-11])"
     ActiveCell.Offset(-1, 1).Range("A1").Select
    
    'Weg
     ActiveCell.FormulaR1C1 = "=Min(R[-11]C[-11]:R[13]C[-11])"
     ActiveCell.Offset(1, 0).Range("A1").Select
     ActiveCell.FormulaR1C1 = "=Max(R[-12]C[-11]:R[12]C[-11])"
     ActiveCell.Offset(0, 0).Range("A1").Select
     
     ActiveCell.Offset(24, -1).Range("A1").Select
    
     n = n + 25
    
    Loop
    
    
    'Löschen der leeren Zeilen
    
    Dim zaehler7 As Long
    Dim o As Integer
    
    Range("A82").Select
    Range(Selection, Selection.End(xlDown)).Select
    zaehler7 = Selection.Rows.Count
    Range("BA82:BD92").Select
    
    o = 0
    Do While o < zaehler7
    
     Selection.Delete Shift:=xlUp
     ActiveCell.Offset(2, 0).Range("A1:E23").Select
    
     o = o + 25
    
    Loop
    ich bin über jede hilfe dankbar!
     
  2. 22. Mai 2009
    AW: [Visual Basic] Hilfe bei Makro

    Also wenn ichs richtig verstehe möchtest du jede Zelle in der Spalte BA durchgehen, den Wert der jeweiligen Zelle in der Spalte AP suchen und dann aus dieser Zeile die Spalten AR-AZ kopieren und bei der Spalte BC - ... in der Zeile mit dem Wert nach dem gesucht wurde einfügen, so weit richtig?
    Wenn ja würde ich das so machen:

    Code:
    Sub kopieren()
    
    
    
    Dim KraftN As Range
    Dim Zelle As Range
    
    For Each Zelle In Range("BA82", Cells(150, "BA"))
    Set KraftN = Range("AP82", Cells(150, "AP")).Find(what:=Zelle.Value)
    If Not KraftN Is Nothing Then Range(Cells(KraftN.Row, KraftN.Column + 2), Cells(KraftN.Row, KraftN.Column + 10)).Copy (Cells(Zelle.Row, Zelle.Column + 2))
    Next
    
    End Sub
    In diesem Fall wäre die Tabelle allerdings nur 150 Zeilen lang.
    Bei längeren Tabellen musst du die 150 im Code noch ersetzen.

    Greetz
     
  3. 26. Mai 2009
    AW: [Visual Basic] Hilfe bei Makro

    hmm, danke schonmal, aber so funktioniert das leider nicht! er kopiert so nicht die richtigen zahlen rein, sondern werte aus ganz anderen Zellen

    hat vielleicht sonst noch jemand ne idee?
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.