Menü
An- und Abmelden
Partner / Links
|
Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.
Nachrichten - Hennes
Seiten: [1]
1
« am: Februar 17, 2017, 22:49:03 Nachmittag »
Hallo zusammen,
ich hätte da mal wieder gerne ein Problem. Ich sammle in einer Datei Daten zur Belegung von 3 Fussballplätzen, mit Namen, Spielzeiten, Stunden, Datum und Einnahmen. In der Pivottabelle, die über der gesamten Tabelle liegt, wird mir nun angezeigt, wieviele Buchungen, Stunden und Einnahmen pro Platz und Monat angefallen sind. Über ein berechnetes Feld möchte ich mir nun anzeigen lassen, wie hoch die Auslastung bezogen auf die gebuchten Stunden pro Monat ist. Gebucht werden kann an allen Tagen pro Monat und 100% Auslastung wären 15 Stunden pro Tag und Platz. Wie müste die Formel dafür aussehen. Hat jemand eine Idee??? Mathematisch sehe es so aus: Anzahl Tage pro Monat * 15 Std. = 100% und gebuchte Stunden =x%
Gruß Hennes
2
« am: Januar 26, 2017, 20:23:25 Nachmittag »
Hallo nochmal zusammen,
das Thema ist eigentlich abgeschlossen. Alles funktioniert bestens. Dank nochmal an Detlef. Ich weiß, das hier ist ein Excel Forum. Aber hat jemand eventuell eine Idee, wie ich diesen Rechner in ein Widget umwandeln kann???
Gruß Hennes
3
« am: Januar 24, 2017, 23:15:56 Nachmittag »
Hallo Detlef,
hab ich vielleicht auch nicht so deutlich rüber gebracht, sorry. ABER, jetzt funktioniert es bestens.!!! Vielen Dank.
Gruß Hennes
4
« am: Januar 24, 2017, 23:06:32 Nachmittag »
Hallo Thobs,
ich habe hier letztens im Forum einen Code bekommen, der bewirkt, dass automatisch bei jedem Eintrag in Spalte B das aktuelle Datum in Spalte A gesetzt wird. Vielleicht hilft dir das ja weiter.
Gruß Hennes
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngDV As Range Dim wert_old As String Dim wertnew As String On Error GoTo Errorhandling If Not Application.Intersect(Target, Range("J3:J7300")) Is Nothing Then Set rngDV = Target.SpecialCells(xlCellTypeAllValidation) If rngDV Is Nothing Then GoTo Errorhandling If Not Application.Intersect(Target, rngDV) Is Nothing Then Application.EnableEvents = False wertnew = Target.Value Application.Undo wertold = Target.Value Target.Value = wertnew If wertold <> "" Then If wertnew <> "" Then Target.Value = wertold & ", " & wertnew End If End If End If
End If
Errorhandling: Application.EnableEvents = True
If Target.Column <> 2 Then Exit Sub If Target = "" Then Target.Offset(0, -1) = "" Else Target.Offset(0, -1) = Date End If
End Sub
5
« am: Januar 24, 2017, 22:27:26 Nachmittag »
Hallo Detlef,
sieht schonmal ganz gut aus. Jedoch müsste der Preis in diesem Beispiel 23,- € betragen, Also für die jeweils halben Stunden zwischen 16:00 und 17:30... 16:00 bis 16:30 = 7,- 16:30 bis 17:00 = 7,- 17:00 bis 17:30 = 9,- Summe = 23,-
Daher dachte ich an ein Summewenn-Formel.
Gruß Hennes
6
« am: Januar 24, 2017, 22:05:51 Nachmittag »
Hallo Detlef,
schonmal vielen Dank dafür. Werde es gleich mal testen. Feiertage sind ja nicht immer am Wochenende. Wenn also ein Feiertag zwischen Montag und Freitag ist, gilt nicht der Preis von Montag bis Freitag sondern eben der Feiertagspreis.
Gruß Hennes
7
« am: Januar 24, 2017, 21:13:02 Nachmittag »
Hallo zusammen,
ich muss einen Preisrechner basteln, und komme mit meiner Formel nicht weiter bzw wirft mir meine Formel keinen Preis raus. Was ist falsch??? Kann mir jemand helfen???
zur Erläuterung: es gibt drei Bedingungen: Tag (Montag bis Sonntag), Zeitraum (Zeit von - bis) und ob das angegebene Datum ein Feiertag ist.
Gruß Hennes
8
« am: Januar 23, 2017, 20:23:03 Nachmittag »
Supi... Danke schön...
Hatte zwischenzeitlich auch noch eine Lösung gefunden. Habe das Makro mit auf den CommandButton gelegt.
Also, vielen Dank nochmal für deine Mühe. Einfach TOP!!
9
« am: Januar 23, 2017, 15:56:03 Nachmittag »
hier einmal das Makro, welches im Tabellenblatt "Tagesbuchungen" laufen soll...
beides einzeln, also dein Code und mein Makro, funktioniert...
Sub Autofüllen() ' ' Autofüllen Makro ' Formeln eintragen ' ' Tastenkombination: Strg+y ' Range("A3").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",TODAY())" Range("A4").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",TODAY())" Range("A4").Select Selection.AutoFill Destination:=Range("A4:A34"), Type:=xlFillDefault Range("A4:A34").Select Range("A35").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",TODAY())" Range("C3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-1]="""","""",IF(ISNA(MATCH(RC[-1],Abos!R3C2:R50C2,0)),""ohne Vertrag"",""mit Vertrag""))" Range("C4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-1]="""","""",IF(ISNA(MATCH(RC[-1],Abos!R3C2:R50C2,0)),""ohne Vertrag"",""mit Vertrag""))" Range("C4").Select Selection.AutoFill Destination:=Range("C4:C34"), Type:=xlFillDefault Range("C4:C34").Select Range("C35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-1]="""","""",IF(ISNA(MATCH(RC[-1],Abos!R3C2:R50C2,0)),""ohne Vertrag"",""mit Vertrag""))" Range("D3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-2]="""","""",IF(RC[-1]=""ohne Vertrag"","""",VLOOKUP(RC[-2],Abos!R3C2:R50C7,2,FALSE)))" Range("D4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-2]="""","""",IF(RC[-1]=""ohne Vertrag"","""",VLOOKUP(RC[-2],Abos!R3C2:R50C7,2,FALSE)))" Range("D4").Select Selection.AutoFill Destination:=Range("D4:D34"), Type:=xlFillDefault Range("D4:D34").Select Range("D35").Select Selection.ClearContents Range("E8:H21").Select Selection.ClearContents Range("D35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-2]="""","""",IF(RC[-1]=""ohne Vertrag"","""",VLOOKUP(RC[-2],Abos!R3C2:R50C7,2,FALSE)))" Range("E3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-3]="""","""",IF(RC[-2]=""ohne Vertrag"","""",VLOOKUP(RC[-3],Abos!R3C2:R50C7,3,FALSE)))" Range("E4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-3]="""","""",IF(RC[-2]=""ohne Vertrag"","""",VLOOKUP(RC[-3],Abos!R3C2:R50C7,3,FALSE)))" Range("E4").Select Selection.AutoFill Destination:=Range("E4:E34"), Type:=xlFillDefault Range("E4:E34").Select Range("E35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-3]="""","""",IF(RC[-2]=""ohne Vertrag"","""",VLOOKUP(RC[-3],Abos!R3C2:R50C7,3,FALSE)))" Range("F3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-4]="""","""",IF(RC[-3]=""ohne Vertrag"","""",VLOOKUP(RC[-4],Abos!R3C2:R50C7,4,FALSE)))" Range("F4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-4]="""","""",IF(RC[-3]=""ohne Vertrag"","""",VLOOKUP(RC[-4],Abos!R3C2:R50C7,4,FALSE)))" Range("F4").Select Selection.AutoFill Destination:=Range("F4:F34"), Type:=xlFillDefault Range("F4:F34").Select Range("F35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-4]="""","""",IF(RC[-3]=""ohne Vertrag"","""",VLOOKUP(RC[-4],Abos!R3C2:R50C7,4,FALSE)))" Range("G3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-5]="""","""",IF(RC[-4]=""ohne Vertrag"","""",VLOOKUP(RC[-5],Abos!R3C2:R50C7,5,FALSE)))" Range("G4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-5]="""","""",IF(RC[-4]=""ohne Vertrag"","""",VLOOKUP(RC[-5],Abos!R3C2:R50C7,5,FALSE)))" Range("G4").Select Selection.AutoFill Destination:=Range("G4:G34"), Type:=xlFillDefault Range("G4:G34").Select Range("G35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-5]="""","""",IF(RC[-4]=""ohne Vertrag"","""",VLOOKUP(RC[-5],Abos!R3C2:R50C7,5,FALSE)))" Range("H3").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-6]="""","""",IF(RC[-5]=""ohne Vertrag"","""",VLOOKUP(RC[-6],Abos!R3C2:R50C7,6,FALSE)))" Range("H4").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-6]="""","""",IF(RC[-5]=""ohne Vertrag"","""",VLOOKUP(RC[-6],Abos!R3C2:R50C7,6,FALSE)))" Range("H4").Select Selection.AutoFill Destination:=Range("H4:H34"), Type:=xlFillDefault Range("H4:H34").Select Range("H35").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[-6]="""","""",IF(RC[-5]=""ohne Vertrag"","""",VLOOKUP(RC[-6],Abos!R3C2:R50C7,6,FALSE)))" Range("H35").Select End Sub
10
« am: Januar 23, 2017, 11:50:40 Vormittag »
Supi, jetzt geht´s... !!!
Jetzt hab ich nur noch ein klitzekleines Problem. In den Spalten C bis H sind Formeln hinterlegt (SVerweis). Diese Zellen können natürlich überschrieben werden, wenn der angezeigte Wert nicht passt. Alle Formeln habe ich in ein Makro geschrieben, damit ich sie bei Bedarf wieder eintragen lassen kann. Nun werden ja beim Übertragen der Werte meine Formeln gelöscht. Kann man durch einen Befehl am Ende deines Codes mein Makro "Autofüllen" direkt ausführen lassen?
11
« am: Januar 23, 2017, 10:46:26 Vormittag »
Hallo Stefan, dieser Code sorgt lediglich dafür, dass bei jedem Eintrag in Spalte B automatisch das Datum in Spalte A eingetragen wird.
Leider tut sich bei deinem Code bei mir nichts. Kannst du noch mal drüber schauen???
Guß Hennes
12
« am: Januar 21, 2017, 23:11:06 Nachmittag »
Supi... Danke  Spalte A in Tagesbuchungen wird automatisch durch einen Code bei jedem neuen Eintrag gefüllt. Übertragen werden soll dann der Bereich A3:K35 oder nur die gefüllten Zeilen in diesem Bereich, wobei die Spalte "Bemerkungen" nicht immer gefüllt ist, jenachdem was einfacher geht. Jeder neue Übertrag soll dann in die nächste leere Zeile in "Jahresübersicht" erfolgen.
13
« am: Januar 21, 2017, 21:07:16 Nachmittag »
Hallo Stefan,
Das Schreiben eines Code ist für mich ein unlösbares Problem. Ich schaffe es wohl, ein Makro aufzuzeichnen, was mir die gewünschte Aktion ausführt. Aber das ganze funktioniert immer nur ein mal, weil dann beim Einfügen immer wieder alles überschrieben wird. Nur das ist ja nicht Sinn und Zweck des Ganzen. Wäre super, wenn du mir nochmals helfen könntest. Ich würde das Datenfeld festlegen auf B3:K35. Gruß Hennes
14
« am: Januar 19, 2017, 23:16:50 Nachmittag »
Hallo Stefan,
genial!!! TOP!!! läuft.... auch in meiner Originaldatei... habe mich auch dazu entschieden, keine Pivot drüber zu legen. Ist so vollkommen ausreichend. (erstmal... ;-) )
vielen, vielen Dank kann ich da nur sagen.
eine Frage noch... wie würde solch ein Makro aussehen, wenn ich einen variablen Zellbereich zB A3 bis Kxx von Tabellenblatt1 zu Tabellenblatt2 übertragen möchte, die Einträge aus dem selben Zellbereich im Anschluss entfernen möchte, und die Einträge im Tabellenblatt2 ab Zelle A2 fortlaufend sein sollen. Also jeder neue Übertrag soll in die nächste freie Zeile erfolgen.
Gruß Hennes
15
« am: Januar 19, 2017, 09:46:14 Vormittag »
Hallo Stefan, also die Anzahl der Bauteile ist fest. In der Originaldatei sind es jedoch 100 Bauteile. Ich hatte mir gedacht, dass ich das Makro dann entsprechend meiner Originaldatei anpassen kann. Die Anzahl der Tage ist ebenfalls fest. Vom 01.01.17 bis 31.12.17...
Was mir grad noch einfällt. Vielleicht wäre es sinnvoller, wenn man direkt die Spalte "Anzahl" und die Spalte "Gesamtpreis" nach Jahresverbrauch kopiert, da ich vorhaben, dann über Jahresverbrauch eine Pivottabelle zu erstellen. Somit erübrigt sich dann auch die Spalte "Gesamtsumme" im Jahresverbrauch. Das macht ja die Pivot von allein.
Gruß Hennes
16
« am: Januar 16, 2017, 23:01:15 Nachmittag »
Hallo Stefan, das klingt super. So machen wir´s.
Danke schonmal. Liesse sich denn das Makro auch über meinen "Neu" Button starten???
Gruß Hennes
17
« am: Januar 16, 2017, 19:17:36 Nachmittag »
Hallo zusammen,
ich versuch´s einfach nochmal. Vielleicht ist es auch anschaulicher in der angehängten Datei.
Gruß Hennes
18
« am: Januar 16, 2017, 19:05:14 Nachmittag »
Hallo mochmal,
wie kann ich den Code erweitern, dass auch ein Wert frei eingetragen werden kann???
Gruß Hennes
19
« am: Januar 12, 2017, 20:07:29 Nachmittag »
Juhu... Variante 2 funktioniert!!!
Danke
20
« am: Januar 12, 2017, 19:25:25 Nachmittag »
OK... Blöde Frage jetzt: Und wie???
Gruß Hennes
21
« am: Januar 12, 2017, 18:44:18 Nachmittag »
Beide Code sehen wie folgt aus:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub If Target = "" Then Target.Offset(0, -1) = "" Else Target.Offset(0, -1) = Date End If End Sub
-------------------------------------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range) '** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung) '** Einfügen im Code-Container des betreffenden Arbeitsblattes
'** Dimensionierung der Variablen Dim rngDV As Range Dim wert_old As String Dim wertnew As String
'** Errorhandling On Error GoTo Errorhandling
'** Mehrfachauswahl im definierten Bereich (Bsp. J3:J7300) durchführen If Not Application.Intersect(Target, Range("J3:J7300")) Is Nothing Then
'**Range definieren Set rngDV = Target.SpecialCells(xlCellTypeAllValidation) If rngDV Is Nothing Then GoTo Errorhandling '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen If Not Application.Intersect(Target, rngDV) Is Nothing Then Application.EnableEvents = False wertnew = Target.Value Application.Undo wertold = Target.Value Target.Value = wertnew If wertold <> "" Then If wertnew <> "" Then Target.Value = wertold & ", " & wertnew End If End If End If
End If
Errorhandling: Application.EnableEvents = True End Sub
muss man die umbenennen??? oder was kann man tun???
22
« am: Januar 12, 2017, 18:38:06 Nachmittag »
Hallo Detlef...
das war schonmal hilfreich. Danke... Habe einen Code dafür gefunden. Nun habe ich aber das nächste Problem. Der Code funktioniert auf Tabellenblatt 2 einwandfrei. Auf Tabellenblatt 1 läuft bereits ein Code. Und wenn ich nun den zweiten hineinkopiere, läuft er nicht mehr. Excel meldet Fehler: "Fehler beim Kompilieren, Mehrdeutiger Name: Worksheet_Change Was kann ich nun machen???
Gruß Hennes
23
« am: Januar 12, 2017, 13:02:46 Nachmittag »
Hallo ihr da Draußen,
ich brauche wieder einmal eure Hilfe. Ich habe eine Dropdownliste erstellt, die auch sowit funktioniert. Nun möchte ich aber, dass ich aus dieser Liste mehrere Elemente auswählen kann und zusätzlich der Nutzer auch die Zelle selbst beschreiben kann. Die Excel Hilfe gibt mir den Rat, eine VBA Code zu schreiben, der Multiselect zulässt. Und da sind meine Grenzen erreicht. Kann mir Jemand helfen???
Gruß Hennes
24
« am: Januar 05, 2017, 20:22:18 Nachmittag »
Hallo Günther,
kannst du mir eventuell auch bei meiner anderen Anfrage hier Thema "Makro" helfen???
Gruß Hennes
25
« am: Januar 04, 2017, 12:56:32 Nachmittag »
Hallo Günther,
genial... genau so soll es sein...
Vielen Dank
26
« am: Januar 04, 2017, 09:41:05 Vormittag »
Hallo Günther,
Super, Daumen hoch...!!! Für die Beiden Zellen, A3 und B3 funktioniert das. Wie kann ich das jetzt auf das gesamte Blatt, sprich auf die gesamte Spalte B ab B3 und Spalte A ab A3 anwenden???
Gruß Hennes
27
« am: Januar 03, 2017, 21:55:41 Nachmittag »
Hallo zusammen,
ich hätte da mal gerne ein Problem. Ich möchte automatisch in eine Zelle zB. A3 das aktuelle Datum einfügen lassen, sobald in B3 ein Eintrag vorgenommen wird. Die Formel A3=wenn(B3="";"";Heute()) funktioniert hier leider nicht, weil mir hier jeden Tag das Datum wieder überschreben wird. Ich möchte also Einträge von Heute mit dem heitigen Datum versehen haben, und von Gestern mi dem gestrigen Datum usw.
Kann mir jemand helfen???
Grüße Hennes
28
« am: Dezember 30, 2016, 16:54:12 Nachmittag »
Hallo StefKe, erstmal vielen Dank für deine Bemühungen, aber leider entspricht das nicht so ganz meinen Vorstellungen. Ich dachte eher an eine einfache Wenn-Funktion, wie Zb Zelle C4 in Tabelle2: =wenn(Tabelle2!C2=Tabelle1!$A$2;"starte Markro Strg+x";"") diese Formel dann von C4 bis AG4 in Tabelle2 kopieren, das Ganze als Makro aufzeichenen und dann dem Button zuweisen. NUR... der Teil in der Formel, also das DANN, will nicht funktionieren.
Gruß Hennes
29
« am: Dezember 29, 2016, 17:09:40 Nachmittag »
Hallo zusammen,
was das Aufzeichnen von Makros angeht, befinde ich mich noch in den Kinderschuhen, und bräuchte eure Hilfe. Über ein Formularsteuerelement möchte ich folgendes Makro aktivieren.
Tabellenblatt 1 zeigt den Tagesverbrauch bestimmter Artikel. Zelle A2= Datum (Heute()) Zelle A3= Artikelnummer Zelle B3= Einzelpreis Zelle C3= Anzahl Zelle D3= Gesamtpreis
Tabellenblatt 2 soll nun den Monatsverbrauch selbiger Artikel anzeigen Zelle A3= Artikelnummer Zelle B3= Einzelpreis Zelle C2 bis AG2= Datum (vom 1.1. bis 31.1. als Beispiel) Zelle C3 bis AG3= Anzahl Zelle AH3= Gesamtpreis
Das Makro soll nun bei Klick auf den Button, die Zelle $A$2 aus Tabellenblatt 1 mit den Zellen B2 bis AF2 vergleichen, und bei Übereinstimmung die Einträge der Spalte C ab Zelle C4 bis Zelle C100 in Tabellenblatt 1 kopieren, in Tabellenblatt 2 unter dem entsprechendem Datum einfügen, und die Werte in Spalte C ab Zelle C4 bis C100 in Tabellenblatt 1 enternen.
Die einzelene Makrofunktion für das Kopieren, Einfügen und Entfernen habe ich ja soweit hinbekommen. Jedoch die vorgehende Wenn-Funktion (Prüfung des Datums) macht mir Probleme.
Ich hoffe, dass mir hier jemand helfen kann.
Danke schonmal im Voraus.
Gruß Hennes
Seiten: [1]
|