Office: dbsumme als makro

Helfe beim Thema dbsumme als makro in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen Ich habe folgendes problem: ich habe mit hilfe der dbsumme funktion eine neue liste erstellt die mir eine goße liste list auf die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von imported_hänsel, 10. März 2010.

  1. dbsumme als makro


    Hallo zusammen

    Ich habe folgendes problem: ich habe mit hilfe der dbsumme funktion eine neue liste erstellt die mir eine goße liste list auf die interressienden werte reduziert; in tabelle 1 befindet sich die ertellte liste in tabelle 2 befindet sich die liste aus der ausgewählt werden soll;

    nun möchte ich diese liste mit einem makro programmieren und komme keinen schritt weiter: wie kann ich in der grundliste die entsprechenden wert finden und dann in die neue liste kopieren???

    listen sind folgendermaßen aufgebaut: von a5 bis a100 befinden sich die kostenarten, in den spalten b1 bis bv1 die kostenstellen;

    vielleicht hat jemand eine lösung, viel dank im voraus
    lg
     
    imported_hänsel, 10. März 2010
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    installiert man nachfolgendes VBA-Makro in einem allgem. Codemodul kann man statt der Tabellenblattfunktion DBSUMME(Datenbank,Feld,Kriterium) die benutzerdefinierte Funktion DB_Summe(Datenbank,Feld,Kriterium) verwenden.
    Code:
    Public Function DB_Summe(Datenbank As Range, Feld As Variant, Kriterium As Variant) As Double
      DB_Summe = WorksheetFunction.DSum(Datenbank, Feld, Kriterium)
    End Function
    Hier folgt ein Anwendungsbeispiel der neuen benutzerdef. Funktion DB_Summe(Datenbank,Feld,Kriterium):
     ABCDE
    1Feld1Feld2Feld3 Feld3
    2112233 <400
    3111222333  
    4111122223333 244
    ZelleFormel
    E4=DB_Summe(A1:C4;B1;E1:E2)
    Mir ist allerdings nicht wirklich klar, wie man damit auf einfache Weise Listen erzeugen kann - die Funktion ist dann gut, wenn man einzelne Summen auf der Basis (ganz) spezieller Filterungen erstellen will.
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Exl121150, 11. März 2010
    #2
  3. hallo

    danke für die hilfe.. man könnte natürlich auch dbmax oder dergleichen verwenden aber ich habe zeilen drinnen bei denen eine summe über mehrere konten berechnet wird...

    habe gestern noch selbst eine lösung entwickelt:

    Sub listefuellen()
    Dim startkonto As Integer, j As Integer, startkst As Integer, y As Integer
    Dim j2 As Integer, i2 As Integer

    Dim wert As Variant, konto1 As Variant, konto2 As Variant, kostenstelle As Variant

    Worksheets("Tabelle1").Activate


    spalte:
    Application.ScreenUpdating = False

    For j = 2 To 100 Step 1
    kostenstelle = Cells(5, j)
    If kostenstelle = "" Then GoTo ende

    startkonto = 8 'startzeile
    Do While Cells(startkonto, 1) <> "" 'bei zelle acht starten
    'Worksheets("Tabelle1").Activate
    startkonto = startkonto + 1 ' eine zeile nach unten
    konto1 = Cells(startkonto, 1) 'konto in die variable einlesen


    Worksheets("Tabelle2").Activate
    For j2 = 1 To 100 Step 1

    If Cells(1, j2) = kostenstelle Then 'richtige kostenstelle suchen
    For i2 = 1 To 400 Step 1 'wenn gefunden, entsprechende kontozeile suchen

    If Cells(i2, 2) = konto1 Then
    wert = Cells(i2, j2) 'zelle mit beiden zählern in wert kopieren
    GoTo kopieren 'aus forschleife aussteigen und zu kopieren gehen
    End If

    Next i2

    End If
    Next j2

    kopieren:

    Worksheets("Tabelle1").Activate 'zu liste wechseln
    Cells(startkonto, j) = wert 'zelle in die erichtige zelle springen und wert einfügen

    Loop


    Next j

    Application.ScreenUpdating = True

    ende:


    lg
     
    imported_hänsel, 11. März 2010
    #3
  4. Exl121150 Erfahrener User

    dbsumme als makro

    Hallo,
    folgendes Makro müsste auch genügen. Du müsstest eventuell überprüfen, ob die abgefragten Bereiche genügend groß für Deinen Datenbestand sind.
    Code:
    Public Sub ListeFüllen2()
      Dim Zl As Integer, Sp As Integer
      Dim Kostenstelle As String, Konto As String
      
      Application.ScreenUpdating = False
      Worksheets("Tabelle1").Activate
      For Sp = 2 To 100
        Kostenstelle = Cells(5, Sp).Value
        If Kostenstelle = "" Then Exit For
        For Zl = 8 To 500
          Konto = Cells(Zl, 1).Value
          If Konto = "" Then Exit For
            
          Cells(Zl, Sp).Value = GetWertTabelle2(Konto, Kostenstelle)
          
        Next Zl
      Next Sp
      Application.ScreenUpdating = True  
    
    End Sub
    Private Function GetWertTabelle2(Konto1 As String, Kostenstelle1 As String) As Variant
      Dim Kostenstelle2 As String, Konto2 As String, Wert2 As Variant
      Dim Zl As Integer, Sp As Integer
      
      GetWertTabelle2 = Empty
      
      With Worksheets("Tabelle2")
          For Sp = 3 To 250
            Kostenstelle2 = .Cells(1, Sp).Value
            If Kostenstelle2 = "" Then Exit For
            If Kostenstelle2 <> Kostenstelle1 Then Exit For
            For Zl = 2 To 1000
              Konto2 = .Cells(Zl, 2).Value
              If Konto2 = "" Then Exit For
              If Konto2 <> Konto1 Then Exit For
              GetWertTabelle2 = .Cells(Zl, Sp).Value
              Exit Function
            Next Zl
          Next Sp
      End With
      
    End Function
     
    Exl121150, 11. März 2010
    #4
  5. vielen dank für die hilfen! hab alles geschafft was ich wollte!

    lg
     
    imported_hänsel, 12. März 2010
    #5
Thema:

dbsumme als makro

Die Seite wird geladen...
  1. dbsumme als makro - Similar Threads - dbsumme makro

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  6. DBSUMME anwenden

    in Microsoft Excel Hilfe
    DBSUMME anwenden: Hallo zusammen, ich möchte auf eine bestehende Pivottaballe mit DBSUMME einzelne Werte zusammenziehen. Er bringt mir aber nur #WERT! Im Forum und Internet, sowie in den Handbüchern habe ich keine...
  7. DBSUMME (Funktion)

    in Microsoft Excel Tutorials
    DBSUMME (Funktion): DBSUMME (Funktion) Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel 2019 für Mac Excel...
  8. Formel - DBSUMME - festes Suchkriterium möglich?

    in Microsoft Excel Hilfe
    Formel - DBSUMME - festes Suchkriterium möglich?: Hallo Leute, Ist es möglich bei der Formel =DBSUMME(C1:J14;"Stückzahl";C16:J17) das Suchkriterium C16:J17 nicht so zu definieren sondern fest! Es soll also statt des Suchkriteriums, welches...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden