Knifflig: Teilwert in einer Zelle Suchen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Knifflig: Teilwert in einer Zelle Suchen
von: Madman
Geschrieben am: 27.10.2003 08:25:09

Hallo Leute!

Habe folgende Tabelle:

01/04 02/04 03/04 ... ... 1.Quartal 05 2. Quartal 05 3. Quartal 05 usw.
wert wert wert wert wert wert ...

Ich hoffe es wird in etwa klar, was ich meine! Mochte jetzt per Makro jeweils alle werte eines Jahres addieren, müßte also immer die letzten bieden werte in der oberen Zeile suchen und die dazugehörigen Werte addieren. Weiteres Problem: Da ich später zu Quartalen wechsele müßte der Wert mal 4 genommen werden, das muß also auch in die Suche mit rein...Hatte bisher mit Suchfunktionen nicht viel zu tun, steh also völlig auf dem Schlauch!

Bin für jede Idee und jeden Ansatz dankbar!

MfG Madman

Bild


Betrifft: AW: Teilwert in einer Zelle Suchen : Summe?
von: Galenzo
Geschrieben am: 27.10.2003 08:55:15

Hallo Madman,
mir wird noch nicht ganz klar, warum du zur Summenbildung nicht die SUMME-Funktion benützt...

mfg


Bild


Betrifft: Summe? Weil dyn. Aktualisierung...
von: Madman
Geschrieben am: 27.10.2003 09:01:12

Hallo Galenzo,

das Problem ist, daß die Datumszeile in unregelmäßigen Abständen aktualisiert wird und ich deshalb keinen festen Zellbezug habe, daher der Umweg über das Suchen. Möchte die Jahreszahlen dann auf Knopfdruck in einer Msgbox anzeigen.

MfG


Bild


Betrifft: AW: Knifflig: Teilwert in einer Zelle Suchen
von: WernerB.
Geschrieben am: 27.10.2003 09:03:13

Hallo ???,

in diesem Forum bitte mit Real(Vor)namen auftreten (lies dazu bitte auch die "Forums-FAQ"). Danke!

Zu Deinem Problem:
Das mit dem "Wert mal 4" habe ich nicht kapiert, vielleicht kannst Du ("VBA gut") das ja selbst noch in das Makro einbauen:


Option Explicit

Sub Madman()
Dim c As Range
Dim s As String
Dim w As Double
Dim laC As Integer
    Application.ScreenUpdating = False
    s = InputBox("Geben Sie das gesuchte Jahr (zweistellig) ein:", "Jahres-Eingabe")
    If s = "" Then
      MsgBox "Keine Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
        "Dezenter Hinweis für " & Application.UserName & ":"
      Exit Sub
    End If
    If Len(s) <> 2 Then
      MsgBox "Falsche Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
        "Dezenter Hinweis für " & Application.UserName & ":"
      Exit Sub
    End If
    If Not IsNumeric(s) Then
      MsgBox "Falsche Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
        "Dezenter Hinweis für " & Application.UserName & ":"
      Exit Sub
    End If
    laC = Cells(1, Columns.Count).End(xlToLeft).Column
    For Each c In Range(Cells(1, 1), Cells(1, laC))
      If Right(c.Text, 2) = s Then
        w = w + c.Offset(1, 0).Value
      End If
    Next c
    MsgBox "Gesamtwert für das Jahr " & s & ": " & w, vbOKOnly + vbInformation, _
      "Dezenter Hinweis für " & Application.UserName & ":"
    Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).


Bild


Betrifft: Super, Danke (PS: Sorry Wg Name)
von: Madman ( Ben)
Geschrieben am: 27.10.2003 09:52:41

Danke, Werner, ist in etwa das was ich gesucht hatte, den Rest fummel ich mir selber hin!
Sorry wg dem Namen, das wußt ich nicht!Werd mich in Zukunft dran halten!

MfG BEN


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Knifflig: Teilwert in einer Zelle Suchen"