Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Auswertung der Tabelle

Auswertung der Tabelle
07.10.2014 11:31:13
Art
Hallo User,
ich fang einfach mal an zu erzählen was mein Problem ist.(Ist mein erster Post,bitte um Nachsicht)
Also ich hab mir ein Makro gebastelt welches beim Klicken in einer anderen Tablle den Namen des Kunden einträgt und gleichzeitig das heutige Datum (fixiert).
Nun will ich, das mir über das Makro(Siehe Bild 1), die Anzahl an Transporten vom heutigen Tag angezeigt wird. Mein Problem ist aber das wenn ich ein Transport bei "Stührenberg" hinzufüge es auch bei den anderen Kunden als Transport auftaucht und umgekehrt ebenso.
<a href="https://www.herber.de/bbs/user/92995.jpg">https://www.herber.de/bbs/user/92995.jpg</a>
~f~
Habe zudem das aktuelle Datum in einer anderen Zeile geschrieben mit der Funktion heute() die sich täglich aktualisiert, umso vergangene Transporte zu ignorieren. Ich selektiere momentan so
ZÄHLENWENN --> natürlich weiß ich das damit nur kontrolliert wird ob das Datum übereinstimmt wie krieg ich den Text jetzt auch noch mit rein?
Anschließend noch ein zweites Bild in der Tabelle in dem die Daten eingefügt werden. Welche Formel muss ich benutzten, um für jeden Kunden individuell, die Transportanzahl ausfindig zu machen?
~f~
<a href="https://www.herber.de/bbs/user/92996.jpg">https://www.herber.de/bbs/user/92996.jpg</a>

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswertung der Tabelle
07.10.2014 15:44:37
fcs
Hallo ArtKo,
für eine "vernüftige" Auswertung musst du deine Daten anders erfassen und zwar als Liste.
lfd Nr	Kunde	Datum
1	Kunde01	06.10.2014
2	Kunde02	06.10.2014
3	Kunde01	06.10.2014
4	Kunde02	07.10.2014
5	Kunde01	07.10.2014
6	Kunde01	07.10.2014
Diese Erfassung der Daten ermöglicht auch andere Auswertungen z.B. als Pivot-Tabellenbericht.

Im 2. Blatt kannst du dann die Tagesauswertung mit der Funktion ZÄHLENWENNS machen.
07.10.2014
Kunde01		Kunde02
2		1

Formel für Kunde01:
=ZÄHLENWENNS(Tabelle1!$B$5:$B$25;Tabelle2!B3;Tabelle1!$C$5:$C$25;Tabelle2!$B$1)
Gruß
Franz

Anzeige
AW: Auswertung der Tabelle
08.10.2014 07:58:28
Art
Hallo Franz,
vielen Dank für deine Hilfe, habe es grad umgesetzt und es klappt :)

AW: Auswertung der Tabelle
08.10.2014 11:11:27
Art
Hallo Franz,
hast du zufällig hierfür auch eine Lösung?
Also wie man in Bild 1 sieht habe ich das so umgeändert wie du das vorgeschlagen hast.
Userbild
Jetzt tritt bei mir das Problem auf wenn ich den Transport von Kunden "Stührenberg" löschen will benutzte ich ja folgendes Makro. Das Problem ist bei meinem geschrieben Makro das er den letzten Eintrag löscht und somit der Transport von "Stührenberg" in der Liste stehen bleibt.
Userbild
Userbild
Gibt es dazu ne gute Lösung? Er Soll immer den letzten Transporteintrag vom ausgewählten Kunden löschen
~f~
Gruß
Art Ko

Anzeige
AW: Auswertung der Tabelle
08.10.2014 11:48:57
fcs
Hallo Art Ko,
nachfolgend Makros, wie du den letzten Eintrag zu einem Kunden löschen kannst.
Gruß
Franz
Sub LoschGK11SB()
Call LoschGK11(strName:="Stührenberg")
End Sub
Sub LoschGK11RuagOPH()
Call LoschGK11(strName:="Ruag (Oberpfaffenhoffen)")
End Sub
Sub LoschGK11(strName As String)
Dim wks As Worksheet
Dim Zeile As Long
Set wks = Worksheets("Tabelle2")
With wks
'letzte Zeile mit Inhalt in Spalte C
Zeile = .Cells(.Rows.Count, 4).End(xlUp).Row
Do
If Zeile 

AW: Auswertung der Tabelle
08.10.2014 11:56:45
Art
Danke, klappt SUPER!!!!

AW: Auswertung der Tabelle
08.10.2014 12:11:38
Art
Hallo Franz,
ein letztes mal benötige ich bitte deine Hilfe.
Für Gk11 hat das super geklappt und der Tabelle 2 Spalte C.
Nun geht meine Liste weiter.
Userbild
Wie krieg ich das selbe für GK 12 hin er muss jetzt aber 2 spalten weiter nach rechts in der Tabelle 2.
Userbild
Gruß
Art Ko

Anzeige
AW: Auswertung der Tabelle
08.10.2014 12:41:40
fcs
Hallo Art Ko,
dann übergibt man sinnvoller Weise die Spalte mit dem Namen als zusätzlichen Parameter, so dass die Löschungen über eine Sub durchgeführt werden können.
Gruß
Franz
Sub LoschGK11SB()
Call LoschGK11(strName:="Stührenberg", SpalteName:=3) 'Name in Spalte C
End Sub
Sub LoschGK12SB()
Call LoschGK11(strName:="Stührenberg", SpalteName:=5) 'Name in Spalte E
End Sub
Sub LoschGK11RuagOPH()
Call LoschGK11(strName:="Ruag (Oberpfaffenhoffen)", SpalteName:=3) 'Name in Spalte C
End Sub
Sub LoschGK11(strName As String, SpalteName As Long)
Dim wks As Worksheet
Dim Zeile As Long
Set wks = Worksheets("Tabelle2")
With wks
'letzte Zeile mit Inhalt in Spalte C
Zeile = .Cells(.Rows.Count, SpalteName).End(xlUp).Row
Do
If Zeile 

Anzeige
AW: Auswertung der Tabelle
08.10.2014 15:32:41
Art
Hallo Franz,
Super nochmal vielen Dank klappt alles Tip Top!
Gruß
Art Ko

AW: Auswertung der Tabelle
09.10.2014 11:38:49
Art
Hallo Franz,
bis jetzt klappt alles Super nur das "Formatieren" nimmt SEHR viel Zeit in anspruch.
Userbild
Da ich um die 200 GK habe und jeweils 16 potenzielle Kunden, ist es sehr aufwendig für z.b GK 11 jeweils 16 Makros fürs einfügen eines Transportes und 16 Makros fürs Löschen des Transportes zu erstellen und dann auch noch der SChaltfläche zuzuordnen. Und das für 200 GK jeweils 32 Makos.
Für das hinzufügen, von eimem Transport, benutzte ich folgendes Makro
Userbild
Kann man hierdraus auch ein einheitsmakro machen wie beim löschen ?
Gruß
Art Ko

Anzeige
AW: Auswertung der Tabelle
09.10.2014 12:09:56
Art
Hallo Franz,
ist es vielleicht logischer die Tabelle so aufzubauen?
Userbild
Das Grüne trägt der Anwender an.
Jetzt will ich das der Name des Kunden, in dem Fall stührenberg, in der " Tabelle 2 " an der Stelle Gk 11 eingetragen wird und das 5 mal. Das heißt irgendwie muss Excel den eingetragenen GK prüfen diesen in "Tabelle 2 suchen" und 5 mal eintragen mit dem heutigen Datum. Ist so etwas möglich?
Userbild
In diesem Fall müsste ich nur 1 Makro benutzen statt 6400 stück :/
Gruß
Art Ko

Anzeige
AW: Auswertung der Tabelle
09.10.2014 15:56:07
fcs
Hallo Artko,
diese Art der Dateneingabe ist wesentlich effektiver in der Umsetzung per Makro.
Für GK und Kunde solltest du zusätzlich Auswahllisten erstellen und dann per verknüpften Comboxen aus den Active-X-Steuerelementen die Werte in den Zellen eintragen/auswählen.
Noch ein Tipp: verwende hier keine verbundenen Zellen, sondern mach die Spalten etwas breiter.
Verbundenen Zellen erschweren manchmal bis oft das Arbeiten per Makro und auch die eine oder ander Excelfunktion wird dadurch gestört.
Das löschen eines Eintrags kann man natürlich in ähnlicher Weise auf ein einziges Makro zusammenführen.
Gruß
Franz
Sub prcAuswerten()
Dim varGK, AnzTrans As Long, strKunde As String
Dim Zelle As Range, Spalte As Long, Zeile As Long
With Worksheets("Tabelle1")
varGK = .Range("A4").Value
AnzTrans = .Range("B4").Value
strKunde = .Range("C4").Text
End With
If varGK = "" Then
MsgBox "Bitte GK eintragen/auswählen", vbOKOnly, "Prüfung Eingaben"
Exit Sub
End If
If AnzTrans =1 sein", vbOKOnly, "Prüfung Eingaben"
Exit Sub
End If
If strKunde = "" Then
MsgBox "Bitte Kunde eintragen/auswählen", vbOKOnly, "Prüfung Eingaben"
Exit Sub
End If
With Worksheets("Tabelle2")
'Spalte mit GK in Zeile 1 suchen
Set Zelle = .Rows(1).Find(what:=varGK, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "GK """ & varGK & """ in Tabelle2 nicht gefunden!"
Else
Spalte = Zelle.Column
Zeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row
Do Until AnzTrans = 0
Zeile = Zeile + 1
.Cells(Zeile, Spalte) = strKunde
.Cells(Zeile, Spalte + 1) = Date
AnzTrans = AnzTrans - 1
Loop
End If
End With
End Sub
Sub prcEintragLoeschen()
Dim varGK, strKunde As String
Dim Zelle As Range, Spalte As Long, Zeile As Long
With Worksheets("Tabelle1")
varGK = .Range("A4").Value
strKunde = .Range("C4").Text
End With
If varGK = "" Then
MsgBox "Bitte GK eintragen/auswählen", vbOKOnly, "Prüfung Eingaben"
Exit Sub
End If
If strKunde = "" Then
MsgBox "Bitte Kunde eintragen/auswählen", vbOKOnly, "Prüfung Eingaben"
Exit Sub
End If
With Worksheets("Tabelle2")
'Spalte mit GK in Zeile 1 suchen
Set Zelle = .Rows(1).Find(what:=varGK, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "GK """ & varGK & """ in Tabelle2 nicht gefunden!"
Else
Spalte = Zelle.Column
Zeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row
Do
If Zeile 

Anzeige
AW: Auswertung der Tabelle
10.10.2014 08:11:39
Art
Guten Morgen Franz,
du bist einfach mein Held. Es klappt einfach PERFEKT! Ich danke dir wirklich sehr.
Hoffe ich kann dir irgendwann auch mal helfen :).
du bist auf jeden fall, ab jetzt, mein Excel Notruf wenn das für dich in Ordnung ist :D.
Gruß
Art Ko

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige