Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Werte aus einer Tabelle vergleichen, einlesen und addieren

Frage Entwicklung VB for Applications

Mitglied: halbschuh107

halbschuh107 (Level 1) - Jetzt verbinden

28.07.2014 um 21:12 Uhr, 1317 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
Batch & Shell
gelöst Powershell - Ausgabe gruppieren - gleichzeitig Werte in anderer Spalte addieren (9)

Frage von Affkopf89 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel-Werte eingeben und in neue Tabelle schreiben (9)

Frage von werner1966 zum Thema Microsoft Office ...

Datenbanken
gelöst Hilfe bei MSSQL-Anweisung, Werte in andere Tabelle einfügen (8)

Frage von d4shoerncheN zum Thema Datenbanken ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (20)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...