Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung VB for Applications

GELÖST

Werte aus einer Tabelle vergleichen, einlesen und addieren

Mitglied: halbschuh107

halbschuh107 (Level 1) - Jetzt verbinden

28.07.2014 um 21:12 Uhr, 1398 Aufrufe, 2 Kommentare

Hallo zusammen,

leider bin ich ein absoluter Anfänger und muss mit VBA gleich eine schwierige Aufgabe auf Arbeit lösen. Hoffe ihr könnt mir helfen.
Ich habe eine Übersichtstabelle mit Namen in Spalte A und eine Anzahl von Aufträgen in Spalte D stehen.

Eine zweite Ausleitungstabelle enthält alle Aufträge in Spalte H und alle Namen der Bearbeiter in Spalte B. Hier können Namen mehrfach vorkommen.

In der Übersichtstabelle sollen die alten Werte in Spalte D addiert werden, mit den Werten wenn sie in der Ausleitungstabelle stehen. Sonst soll der alte Wert einfach übernommen werden.

Gibt es da einen Lösungsweg für Anfänger?

Vielen Dank schon einmal für eure Mühe.

Schöne Grüße
Lars
Mitglied: colinardo
29.07.2014, aktualisiert um 10:52 Uhr
Hallo Lars, Willkommen auf Administrator.de!
Dafür benötigst du noch nicht einmal VBA. Es reicht hier die Formel SummeWenn() mit der du die Summen der einzelnen Mitarbeiter in der Ausleitungstabelle aufsummierst und dann mit den Werten in Spalte D deiner Übersichtstabelle addierst.
Siehe dazu folgendes Demo-Sheet

VBA ist auch kein Problem. Da du aber nach einer Anfängerlösung suchst, ist die Formelvariante die am einfachsten zu implementierende
Falls du es dennoch in VBA benötigst, siehe dieses VBA-Demo-Sheet (Kommentare findest du im hinterlegten Code)

01.
Sub Summierung() 
02.
    Dim ws1 As Worksheet, ws2 As Worksheet, rngNames As Range, rngSearch As Range, cell As Range, c As Range 
03.
    Set ws1 = Worksheets(1) 'Übersichtstabelle 
04.
    Set ws2 = Worksheets(2) 'Ausleitungstabelle 
05.
    Set rngNames = ws1.Range("A2", ws1.Cells(Rows.Count, 1).End(xlUp))  ' Bereich der Namen in der Übersichtstabelle 
06.
    Set rngSearch = ws2.Range("B2", ws2.Cells(Rows.Count, 2).End(xlUp)) ' Bereich der Namen in der Ausleitungstabelle 
07.
    ' Für jeden Namen in der Übersichtstabelle 
08.
    For Each cell In rngNames 
09.
        'Suche den Namen in der Ausleitungstabelle 
10.
        Set c = rngSearch.Find(cell.Value, LookIn:=xlValues, Lookat:=xlWhole) 
11.
        ' Wenn der Name gefunden wurde ... 
12.
        If Not c Is Nothing Then 
13.
            firstAddress = c.Address 
14.
            ' Suche so lange weiter nach dem Namen bis er nicht mehr gefunden wird 
15.
            Do 
16.
                ' Addiere die Werte der Zellen 
17.
                cell.Offset(0, 3).Value = Int(cell.Offset(0, 3).Value) + Int(c.Offset(0, 6).Value) 
18.
                'Finde den nächsten Treffer 
19.
                Set c = rngSearch.FindNext(c) 
20.
            Loop While Not c Is Nothing And c.Address <> firstAddress 
21.
        End If 
22.
    Next 
23.
End Sub
Viel Erfolg
Grüße Uwe
Bitte warten ..
Mitglied: halbschuh107
29.07.2014 um 18:27 Uhr
Hallo Uwe,

super - vielen Dank für deine Hilfe! Du bist ja super Klasse und hast mir mehr als geholfen. Es funktioniert Klasse!!! Habe das ganze auch noch ein bisschen erweitern
können. Mit "Set ws2 = Workbooks("Ausleitungstabelle.xls").Sheets("Daten") 'Ausleitungstabelle" kann ich jetzt sogar eine externe Datei einlesen, sodass die AUsleitung nicht zwingend in der gleichen Datei sein muss

Ich hoffe, ich kann noch so einiges von hier lernen!!

Vielen Dank und hab noch einen schönen Tag.

Gruß Lars
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Werte mit gleicher Auftragsnummer addieren
gelöst Frage von Semih55VB for Applications8 Kommentare

Hallo Zusammen, ich habe ein Excel-sheet mit Auftragsnummer, Kunde und Betrag. Jetzt möchte ich alle Beträge mit gleicher Auftragsnummer ...

Datenbanken
Werte aus einer Tabelle ersetzen Werte aus einer anderen Tabelle
Frage von neotm1Datenbanken2 Kommentare

Hallo, ich versuche mit MSSQL eine Abfrage hinzubekommen, in der Werte Aus Tabelle1 Spalte2 in eine andere Tabelle schreibt, ...

PHP
Werte in einer sql Spalte addieren
gelöst Frage von helmuthelmut2000PHP13 Kommentare

Hallo, Ich habe folgendes Problem. Ich habe eine PHP Seite mit einer MSSQL Datenbank. Da gibt es eine Tabelle ...

Batch & Shell
PS .length Werte addieren
gelöst Frage von AventosBatch & Shell5 Kommentare

Servus ich habe mehrere Dateigrößen per auslegesen. Die Werte werden mir nun wenn ich beide Variablen auslese z. B. ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...