Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenbereich auf Inhalt überprüfen, ev. summe

Betrifft: Tabellenbereich auf Inhalt überprüfen, ev. summe von: Mike
Geschrieben am: 17.09.2004 16:04:55

Hallo zusammen,

ich steck da grad in einer Aufgabe fest und komme ohne jemanden mit guten VBA Kenntnissen nicht weiter... habe folgendes Problem:


Hintergrundinformationen:
Im Tabellenbereich eines Sheets(1) (Z14:AH130) befinden sich jeweils pro Zeile 1 bis max.2 Zellen mit Geldbeträgen.Hinweis: ich arbeite mit Office XP englisch

Aufgabe:

dieser Bereich muss auf diese Inhalt überprüft werden, wenn aber in Spalte AE ein Wert steht(z.B. 5€) so muss AF ebenfalls überprüft werden, wenn sich darin auch ein Wert befindet, so soll AE + AF stattfinden.

Dieser eine Wert, der sich dann pro Zeile ergibt, soll in einem anderen Sheet im Bereich M8:M124 eingetragen werden, wobei die Summierung der Werte pro Zeile aus Sheet 1 vorgenommen wird und als ein Wert in Sheet 2 eingetraen werden. Quasi:

- Zeile für Zeile ( Range(Z14:AH14), Range(Z15:AH15)... etc.)
auf Inhalt checken
- den Value der drin steht kopieren nach Sheet2 Range(M8), (M9)... etc.),
AUSNAHMEFALL es steht ein Wert in Spalte AE, dann checken ob AF leer ist,wenn
ja dann nur AE übertragen, sonst Summe aus AE+AF übertragen

Das Ganze sieht etwa so aus:

auf Sheet1
Spalte Z AAABAC....AF
1€
2€
3€ 4€
5€
6€

auf Sheet2
Spalte M
1€
2€
7€
5€
6€

Hoffe ich habs verständlich erklärt, brauche relativ schnell eine Lösung,
bin für jede Hilfe sehr dankbar.

mfg mike

  


Betrifft: AW: Tabellenbereich auf Inhalt überprüfen, ev. summe von: Worti
Geschrieben am: 18.09.2004 20:30:13

Hallo mike,
versuch mal das folgende Makro:


Sub SummeBilden()

    Dim lngJ As Long
    Dim lngM As Long
    Dim intI As Integer
    Dim dblSummenwert As Double
    Dim ws As Worksheet

    lngM = 8
    Set ws = Worksheets(1)
    For lngJ = 14 To 130
        dblSummenwert = 0
        For intI = 26 To 34
            If ws.Cells(lngJ, intI).Value <> "" And IsNumeric(ws.Cells(lngJ, intI).Value) Then
               dblSummenwert = ws.Cells(lngJ, intI).Value
               If intI = 31 Then
                  If IsNumeric(ws.Cells(lngJ, intI).Offset(0, 1).Value) Then
                     dblSummenwert = dblSummenwert + ws.Cells(lngJ, intI).Offset.Value
                  End If
                End If
                Worksheets(2).Cells(lngM, 13).Value = dblSummenwert
                lngM = lngM + 1
                Exit For
            End If
        Next intI
    Next lngJ

End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Worti


  


Betrifft: AW: Tabellenbereich auf Inhalt überprüfen, ev. summe von: Mike
Geschrieben am: 20.09.2004 10:27:44

Hallo Worti,

ich hab das makro mal getestet... zwei dinge...

1. Leider geht das mit dem Addieren der Zellen nicht, keine Ahnung wieso, aber deine Spaltenbezeichnungen usw. stimmt eigenltich alles... vielleicht hilft dir die Info, dass diese einzelnen Geldbeträge nicht händisch eingefügt werden, sondern aus anderen Spalten per formeln ermittelt werden, und im Bereich 26-34 (is ja soweit richtig!) eingetragen werden.

2. Das konntest du nicht wissen... ich bräuchte noch einen Vorabprüfung, da manche Zeilen (sprich 26-34) auch leer sein können! Hierzu wäre es aber möglich Spalte A bzw. B auf Inhalt vorher abzufragen und wenn Inhalt ja, dann soll es nach Preisen schauen bzw. wenn A leer dann im Zeilenzähler einfach eines weitergehen...

Kriegst du das vielleicht noch hin?

Beste Grüße

Mike


  


Betrifft: AW: Tabellenbereich auf Inhalt überprüfen, ev. summe von: Mike
Geschrieben am: 19.09.2004 14:13:09

danke Worti,

ich hatte heute probs mit Excel, kann es daher erst am Montag versuchen, aber ich dank dir schonmal... für die schnelle Reaktion!

mfg mike


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenbereich auf Inhalt überprüfen, ev. summe"