Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
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
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Macro, welches Ergebnisse unterstreicht

Macro, welches Ergebnisse unterstreicht
18.10.2007 22:35:37
eddie
HalloSepp,
du hast mir schon extrem geholfen bei meinen Buchungen. Deshalb habe ich hier nur eine Bitte, du hast mir doch die Ergebnisse der Buchung (Saldo) mittels makro unterstrichen. Leider habe ich dir eine falsche Anweisung ( falsche Position) genannt. Der thread ist beendet und das Problem besteht noch.
Der rote Strich, den das makro ziehen sollte, ist nicht direkt unterhalb des Saldos sondern oberhalb der letzten beiden Zahlen (Kontensummen) und dann auch über die gesamte Breite des Kontos.
Es wäre nett, wenn du dich noch einmal melden würdest, damit der letzte Arbeitsschritt perfekt ist.
Danke
Manfred

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro, welches Ergebnisse unterstreicht
18.10.2007 22:41:00
Josef
Hallo Manfred,
poste mal den Code, die Datei hab ich nicht mehr.
Wo soll welcher Strich den nun gezogen werden?
Gruß Sepp

AW: Macro, welches Ergebnisse unterstreicht
19.10.2007 22:23:24
eddie
Hallo Sepp,
schön, dass du dich wieder meldest. Ich habe erst jetzt verstanden, dass der thread irgendwann einmal endet und man dann keine Antwort mehr bekommt.
Zu meiner falschen Anweisung:
Du hast ja alle Konten rechnerisch abgeschlossen, indem du Excel angewiesen hast, beide Kontensummen (S-Seite und H-Seite)zu vergleichen, die größere der beiden unten zu schreiben und auf die andere Kontenseite zu übertragen. Das läuft alles Superprima.
Jetzt habe ich dich um zwei Aktionen gebeten:
1. Unterstreiche die beiden Kontensummen doppelt. Das klappt auch prima, wobei ich mir wünschen würde, dass die Doppelstriche etwas dicker sind, damit sie sich von den anderen Strichen abheben.
2. Und jetzt sofort richtig. Setze oberhalb der Kontensummen einen schwarzen Strich über die gesamte Kontenbreite.
Ich hatte formuliert:
Unterstreiche den Saldo, der ja rot eingefärbt ist, dabei habe ich aber vergessen, dass der Saldo an unterschiedlichen Stellen (Zeilen) im Konto stehen kann.
Ich habe eine liesmich Tabelle, auf der die Unterstreichungen deutlich markiert sind.
Ich bitte um Verzeihung, dass du es nachbessern musst, aber ich merke jetzt, wie genau man jeden Programmierschritt durchdenken muss.
Übrigens sind wir kurz vor dem Abschluss eines fast automatischen Kontenabschlusses.
Begleite mich doch bitte noch drei Schritte und dann ist es perfekt. Du siehst ja an dem Doppelstrich, dass Fast Endergebnisse vorliegen.
Was könnte man nun noch programmieren?
Schau bitte in die Liesmich Tabelle:
ES WÄRE NETT; WENN DU DIE CENTSPALTEN PER FORMAT IMMER MIT ZWEI ZIFFERN VERSEHEN WÜRDEST; AUCH WENN ES NUR NULLEN SIND!
Gruß
Manfred
P.S. es ist wieder Wochenende und ich sitze wieder bis mitten in der Nacht am PC
https://www.herber.de/bbs/user/46924.zip

Anzeige
AW: Macro, welches Ergebnisse unterstreicht
19.10.2007 23:19:00
Josef
Hallo Manfred,
die Linien sollten jetzt richtig angezeigt werden.
Sub EuroCent()
Dim rng As Range
Dim C1 As Range, C3 As Range, C4 As Range, C7 As Range, C8 As Range
Dim R34 As Long, R78 As Long, RS As Long, RK As Long, konto As Integer
Dim dbl34 As Double, dbl78 As Double, dblDiv As Double

For Each rng In Selection.Areas
    With rng
        If .Columns.Count <> 8 Then Exit For
        
        Set C1 = .Columns(1)
        Set C3 = .Columns(3)
        Set C4 = .Columns(4)
        Set C7 = .Columns(7)
        Set C8 = .Columns(8)
        
        ' RK = .Rows(1).Row - 1
        ' konto = Cells(RK, C1.Column + 1)
        ' If Right(konto, 1) = "0" Then
        ' konto = konto + 1
        ' Else
        ' konto = konto - 1
        ' End If
        
        R34 = .Rows(1).Row + Application.Count(C3)
        R78 = .Rows(1).Row + Application.Count(C7)
    End With
    
    RS = Application.Max(R34, R78)
    
    If RS = 1 Then Exit Sub
    
    dbl34 = Application.Sum(C3) + Application.Sum(C4) / 100
    dbl78 = Application.Sum(C7) + Application.Sum(C8) / 100
    
    dblDiv = Application.Max(dbl34, dbl78) - Application.Min(dbl34, dbl78)
    
    If dbl34 > dbl78 Then
        If dblDiv > 0 Then
            If RS = R78 Then RS = RS + 1
            Cells(R78, C7.Column) = Int(dblDiv)
            Cells(R78, C8.Column) = (dblDiv - Int(dblDiv)) * 100
            'Cells(R78, C7.Column - 2) = konto
            With Range(Cells(R78, C7.Column), Cells(R78, C8.Column))
                .Font.ColorIndex = 3
                .NumberFormat = "00"
            End With
        End If
        Cells(RS, C3.Column) = Int(dbl34)
        Cells(RS, C4.Column) = (dbl34 - Int(dbl34)) * 100
        Cells(RS, C7.Column) = Cells(RS, C3.Column)
        Cells(RS, C8.Column) = Cells(RS, C4.Column)
    Else
        If dblDiv > 0 Then
            If RS = R34 Then RS = RS + 1
            Cells(R34, C3.Column) = Int(dblDiv)
            Cells(R34, C4.Column) = (dblDiv - Int(dblDiv)) * 100
            'Cells(R34, C3.Column - 2) = konto
            With Range(Cells(R34, C3.Column), Cells(R34, C4.Column))
                .Font.ColorIndex = 3
                .NumberFormat = "00"
            End With
        End If
        Cells(RS, C3.Column) = Int(dbl78)
        Cells(RS, C4.Column) = (dbl78 - Int(dbl78)) * 100
        Cells(RS, C7.Column) = Cells(RS, C3.Column)
        Cells(RS, C8.Column) = Cells(RS, C4.Column)
    End If
    With Range(Cells(RS - 1, C1.Column), Cells(RS - 1, C8.Column))
        With .Borders(xlEdgeBottom)
            .ColorIndex = xlAutomatic
            .Weight = xlThick
        End With
    End With
    Range(Cells(RS, C3.Column), Cells(RS, C8.Column)).NumberFormat = "00"
    With Range(Cells(RS, C1.Column), Cells(RS, C8.Column)).Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    
Next
End Sub

Das mit den Gegenkonten muss ich mir erst noch ansehen.
Das geht ja nicht so einfach, weil die ja erst nachträglich erstellt/angezeigt werden sollen.
Und da bietet die Tabelle eigentlich keinen Anhaltspunkt. Man müsste sich also für jedes Konto die Daten irgendwo zwischenspeichern um später darauf zurückgreifen zu können.
Und die Konten auf die gebucht wird müssten ja auch erst erstellt werden. Ich glaube, da wird mir der AUfwand doch zu hoch.
Gruß Sepp

Anzeige
AW: Macro, welches Ergebnisse unterstreicht
22.10.2007 22:43:00
eddie
Hallo Sepp,
zunächst einmal vielen vielen Dank für die Korrektur, jetzt funktioniert es.
Dein Hinweis ist verständlich, trifft aber nur bedingt, (ich sehe es aber ein).
Die Konten werden alle auf einmal erstellt( läuft bisher prima). In der "einfachen Variante" könnte man mit dem letzten makro, welches den Saldo (in rot) ermittelt und die Striche zieht und das schon fertig ist (und eine kleine Erweiterung erfährt), das Gegenkonto wenigstens für die Hauptkonten hinschreiben, das sind alle Konten, die als erste der vier Ziffern die 0, 1, 2, 3 oder 4 haben und alle haben als Gegenkonto die Ziffer 8010. ist doch easy oder, wenn ich´s könnte würde ich es machen. (Als ich mit dem PC begonnen habe, gabs noch den Vorläufer "multiplan" und da war ich dankbar, dass ich liebe Schüler hatte, die mir geholfen haben im Unterricht.)
Das bekommst du doch sicher noch hin, da muss man doch, vermute ich, kein makro nachträglich ändern sondern nur das letzte erweitern..
Und last not least: Das Konto 8010 wird aus der Vorlage erstellt und zwar mit 3 Zeilen mehr als als Gegenkonten durch die Erweiterung des letzten makros erzielt wurden.
Alles andere würde die bisherige Programmierung über den Haufen werfen, das sehe ich nun ein.
Zum Schluss: Ich hätte nie gedacht, dass du mich so weit begleitest, sonst hätte ich von Anfang an mehr Struktur hereingebracht. So war ich immer dankbar für den nächst kleineren Schritt.
Gruß
Manfred
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige