Clever-Excel-Forum

Normale Version: Suchen, Auswählen, Merken, Drucken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Hallo Schauan,

ich habe es umgebastelt und die eine Zwischenzeile bei diesen beiden ausnahmen raus genommen Wink

Ich schaue mal, ob ich deine Summen an die richtige Stelle eingefügt bekomme..... '<-- hier war nicht zu finden Wink

bis gleich mit frischem Feedback.

Danke und Gruß
Alex
Hallo Alex,

wegen dem Dropdown das kann ich nicht nachvollziehen. In der Datei, die Du mir gesendet hast, ist anscheinend alles drin - ich habe aber nicht auf jedes Blatt und jede Zelle geschaut.

Ansonsten -
Ist das auf allen Blättern so?
Werden alle nicht angezeigt?
Hat der andere PC eventuell ein älteres Excel?

Ich hab mal bei google nachgefragt, Ansätze sind:
Eventuell auf dem anderen PC in den
Excel-Optionen | Erweitert | Optionen für diese Arbeitsmappe anzeigen
nachschauen, ob dort bei Objekte anzeigen "nichts" gewählt ist

Eventuell die Datei versuchen, als
Excel 97-2003 Arbeitsmappe
oder
Excel 5/95 Arbeitsmappe
zu speichern
Wenn dann die Meldung kommt, dass Excel verschiedene Dinge nicht übernehmen kann oder selbige verloren gehen, abbrechen und schauen, ob die Dropdowns dann da sind. Wenn ja, Datei wieder normal speichern.
Hallo Schauan,

naja, einige meiner Kollegen benutzen ein Excel, welches nur das englische Sprachpaket installiert hat (meine Formeln werden aber normal angezeigt (auf englisch halt....). Ich check das mal aus.

Danke für die Summen, bzw. Zwischensummen.

Wäre das so möglich:

Nach dem Kopieren, übernimmt er ja jetzt die Tabellenblattnamen, als Überschrift. Das ist Perfekt. Allerdins pakt er mir jetzt die Summe aus bspw. "Tabellenblatt 1" direkt in die gleiche zeile, wo die Überschift aus "Tabellenblatt 2" steht. Das könnte für etwas Verwirrung sorgen. Er soll also -wenn möglich- zwischen jeden fertigen Block aus den Tabellenblättern die Summe ziehen und eine Leerzeile lassen, bevor es mit dem nächsten weitergeht. Wenn zu kompliziert, sag es mir ruhig. Dann lade ich nochmal eine Mustertabelle hoch Smile

Danke Schauan :100:
Alex
Hallo Alex,

einfachste Variante - alles eine Zeile tiefer einfügen, d.h. statt + 1 und + 2 lässt Du Excel + 2 und + 3 nehemn:

Code:
'Tabellenname in temporaeres Blatt, Spalte C eintragen, letzte Zeile anhand Spalte G
            tmpWsh.Range("C" & tmpWsh.Cells(Rows.Count, 7).End(xlUp).Row + 2) = myWsh.Name
            'Zeile zum Einfuegen ermitteln, letzte Zeile anhand Spalte G + 2 (2 wegen Tabellennamen in Spalte C)
            iPasteRow = tmpWsh.Cells(Rows.Count, 7).End(xlUp).Row + 3

Allerdings entsteht dadurch nach der Überschrift auch eine Leerzeile Stört die?
Hallo Schauan,

sorry, heute bin ich mal was später dran Smile

die Lösung reicht völlig aus, danke. Ich habe die gesamtsumme um 1 Zeile weiter runter gesetzt, damit es etwas übersichtlicher aussieht.

Wäre es möglich, die Gesamtsumme "fett-formatiert" darzustellen?

Ist es machbar, dass wenn der Kunde sich nun div. Artikel ausgesucht hat, die Zeile von "C" bis "M" dann grün anzuzeigen? So sieht der Kunde, welche Aritkel er bereits ausgewählt hat. Beim übertragen ins PDF muss es dann nicht zwangsläufig grün sein, da man sonst ja immer "schwarz / weiß" anwählen muss beim drucken Smile

Ansonsten hoffe ich, dass ihr genauso schönes Wetter habt, wie wir hier :87:

Danke Schauan :98:

Alex
Hallo Alex,

sitze hier gerade vor meinem Laptop, draußen Gewitter, neben mir meine Frau. Bis zum Abendessen war es noch schön, stellenweise fast zu schön...
Mal wieder etwas Theorie zum Anfang
Ich hab bequemerweise den code zum formatieren aufgezeichnet. Also die Zelle mit der Gesamtsumme anklicken, und fett formatieren.
Da kommt das raus:
Code:
Range("F28").Select
    Selection.Font.Bold = True
Für das Programm brauch ich nur den letzten Teil
Code:
.Font.Bold = True
Jetzt ist noch die Frage, wo der in muss. In den Kommentaren ist ja jede Zeile beschrieben. Also schaue ich, wo die Gesamtsumme eingetragen wird, und danach mach ich's fett:

Code:
'Mit der zelle fuer die Gesamtsumme
With Cells(Cells(Rows.Count, 6).End(xlUp).Row + 1, 6)
  'Gesamtsumme eintragen
  .Value = sSum
  'In Zelle links daneben "Summe" eintragen
  .Offset(0, -1).Value = "Summe"
  'Euroformat
  .NumberFormat = "#,##0.00 $"
  'Fett
  .Font.Bold = True
'Ende Mit der zelle fuer die Gesamtsumme
End With

Dass der kurze codeteil ab dem Punkt reicht, liegt daran, dass ich in dem codeabschnitt den Ausdruck "With" benutzt habe. Dadurch spare ich mir in dem Fall die Angabe, wo ich die Formatierung vornehmen will. Diese Angabe reicht in der With-Zeile. Manchmal erleichtert Excel einem auch die Arbeit Wink

Das mit der Farbe schaue ich mir morgen Abend an.
Hallo Schauan,

vielen Dank, für diesen Hinweis und die Erweiterung des Codes. Hast du deinen Kommentar von gestern bearbeitet?! Ich dachte er wäre gestern Abend anders gewesen Wink

Funktioniert einwandfrei Smile

Freu mich auf später.

Viele Grüße und vielen Dank
Alex
Hallo Alex,

die Farben erfordern Änderungen an mehreren Stellen Deiner Exceldatei. Ich habe die Farbe jetzt mal nur bei einem Eintrag in Spalte G gesetzt, das kann man auch noch umbauen / erweitern.

Damit die Farben beim Eintrag von Werten in die Zellen auf allen betreffenden Tabellenblättern gesetzt oder entfernt werden, nimmst Du diesen code in das Codemodul DieseArbeitsmappe. Die Farbnummer kannst Du mit Aufzeichnen ermitteln, wenn Dir meine nicht gefällt Wink

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'Wenn der Name des aktiven Blattes <> Input und Sales ist, dann
    If Sh.Name <> "Input" And Sh.Name <> "Sales" Then
       'Wenn die Aenderung in Spalte G erfolgt und nur eine Spalte betrifft, dann
       If Target.Column = 7 And Target.Columns.Count = 1 Then
         'Schleife ueber alle gewaehlten Zellen
         For Each zellen In Target
           'Wenn Inhalt > 0 ist, dann mit ... einfaerben, sonst Farbe rausnehmen
           If Target > 0 Then Target.Interior.Color = 5296274 Else Target.Interior.Color = xlNone
         'Ende Schleife ueber alle gewaehlten Zellen
         Next
      'Ende Wenn die Aenderung in Spalte G erfolgt und nur eine Spalte betrifft, dann
       End If
    'Ende Wenn der Name des aktiven Blattes <> Input und Sales ist, dann
    End If
End Sub

Damit die Farbe nicht auf der Kopie erscheint, musst Du sie nach dem Kopieren dort entfernen. Also Makro Kopieren ändern ->
Code:
'Farben rausnehmen           '<-- hier
Columns(7).Interior.Color = xlNone  '<-- hier
'Spaltenbreite automatisch anpassen
Cells.EntireColumn.AutoFit
'Spalte A und B ausblenden
Columns("A:B").EntireColumn.Hidden = True
End Sub

Beim Rücksetzten ist es ahnlich - diesmal in der Schleife über alle Blätter.
Code:
blaetter.Range("K3:K1048576").Value = ""
    'Farben rausnehmen                              '<-- hier
    blaetter.Columns(7).Interior.Color = xlNone     '<-- hier
    'Blatt loeschen, wenn ein Bild drauf ist

Wenn die Spalte G nicht passt, dann einfach statt der 7 eine andere Zahl einsetzen - in allen 3 Makros.
Hallo Schauan,

vielen Dank, für diesen Code.

Wenn ich diesen, wie oben beschrieben, in "diese Arbeitsmappe" einsetzte und entsprechend testen möchte, passiert nichts. Auch beim entsprechenden Ändern der Zahl "7" +/- passiert nichts.

Mache ich etwas falsch?! :05:

Viele Grüße und vielen Dank Schauan! :15:
Alex
Hallo Alex,

es passiert dann etwas, wenn Du auf einem Datenblatt in Spalte G einen Wert > 0 eingibst.
Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23