Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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
letzte Zeile und Spalte färben
20.03.2015 17:41:19
Dieter
Hallo Forum.
--Die Datei die ich hochgeladen habe, ist nur ein Auszug und nicht die Original Datei (sie ist auch stark vereinfacht)
https://www.herber.de/bbs/user/96524.zip
Mein Problem ist folgendes:
Es wird jetzt schwer zu erklären. Ich gebe mein bestes, aber ich hoffe ihr verstehet es.
In „Tabelle1“ habe ich Tabelle mit max. 45 Zeilen (siehe Datei)
Mit dem nachfolgenden Code (auf CommandButton1 ODER 2) markiert er mir diese 21 Zeilen (siehe „bisher habe ich“ – Tabelle 1)
Option Explicit
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim Zeile_letzte As Long
Dim Spalte_letzte As Long
If Range("A1").Value = "" Then
End
Else
Zeile_letzte = Cells(1, 1).End(xlDown).Row
Spalte_letzte = Cells(Zeile_letzte, 11).End(xlToLeft).
'färben
Range(Cells(1, 1), Cells(Zeile_letzte, 1)).Interior.ColorIndex = 37
Range(Cells(1, Spalte_letzte), Cells(Zeile_letzte, 3)).Interior.ColorIndex = _
37
Range("M11") = Application.Sum _
(Range(Cells(1, Spalte_letzte), Cells(Zeile_letzte, 3)))    'Summe in M11  _
berechnen
End If
End Sub

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim Zeile_letzte As Long
Dim Spalte_letzte As Long
If Range("A1").Value = "" Then
End
Else
Zeile_letzte = Cells(1, 1).End(xlDown).Row
Spalte_letzte = Cells(Zeile_letzte, 11).End(xlToLeft).
'färben
Range(Cells(1, 1), Cells(Zeile_letzte, 1)).Interior.ColorIndex = 40
Range(Cells(1, Spalte_letzte), Cells(Zeile_letzte, 3)).Interior.ColorIndex = _
40
Range("N11") = Application.Sum _
(Range(Cells(1, Spalte_letzte), Cells(Zeile_letzte, 3)))    'Summe in N11  _
berechnen
End If
End Sub

Mein Problem besteht darin, wenn ich die Tabelle nun weiterführe (siehe Tabelle 2 oder 3),
dann soll eine nächste Farbe den NÄCHSTEN Teil färben und NICHT alles (sie Tabelle 2 oder 3)
kann mir irgendjemand Helfen – ich bekomme das nicht wirklich hin – dafür reicht mein VBA Wissen nicht ganz :-(
Danke
Dieter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile und Spalte färben
21.03.2015 14:57:43
Michael
Hallo Dieter,
ohne mir irgendwas weiter angesehen zu haben: in beiden Subs wird ScreenUpdating nicht wieder auf true gesetzt. Mach das mal rein, dann sehen wir weiter.
Schöne Grüße,
Michael

AW: letzte Zeile und Spalte färben
21.03.2015 15:48:20
fcs
Hallo Dieter,
versuche es mal mit der folgenden Variante.
Bei der Summenberechnung in Zeile 11 musst du dir die passende Varante nehmen.
Gruß
Franz
Private Sub CommandButton1_Click()
Call prcFaerben(ButtonNr:=1)
End Sub
Private Sub CommandButton2_Click()
Call prcFaerben(ButtonNr:=2)
End Sub
Sub prcFaerben(ButtonNr As Integer)
Dim wks As Worksheet
Dim Zeile_Aktuell As Long
Dim Zeile_1 As Long
Dim SpalteSumme As Long, Spalte_letzte As Long
Dim Farbe As Long, Farbevorher As Long
Const lngColorIndex_1 As Long = 37
Const lngColorIndex_2 As Long = 40
'Farbwerte setzen abhängig von der Button-Nr.
Select Case ButtonNr
Case 1
Farbe = lngColorIndex_1
Farbevorher = lngColorIndex_2
Case 2
Farbe = lngColorIndex_2
Farbevorher = lngColorIndex_1
End Select
Set wks = ActiveSheet
Application.ScreenUpdating = False
Zeile_Aktuell = ActiveCell.Row
Zeile_1 = Zeile_Aktuell
With wks
If wks.Cells(Zeile_Aktuell, 1).Value = "" Then
MsgBox "Makro nur starten, wenn Spalte A in aktiver Zeile ausgefüllt ist."
Exit Sub
End If
'Zeile oberhalb suchen mit Farbevorher
Do
If Zeile_1 = 1 Then Exit Do
If .Cells(Zeile_1, 1).Interior.ColorIndex = Farbevorher Then
Zeile_1 = Zeile_1 + 1
Exit Do
End If
Zeile_1 = Zeile_1 - 1
Loop
'Letzte Spalte in Zeile mit aktiver Zelle suchen
If .Cells(Zeile_Aktuell, 11)  "" Then
Spalte_letzte = 11
Else
Spalte_letzte = .Cells(Zeile_Aktuell, 11).End(xlToLeft).Column
End If
'Summenspalte in Zeile 11 ermitteln
SpalteSumme = .Cells(11, .Columns.Count).End(xlToLeft).Column
If SpalteSumme 

Anzeige
AW: letzte Zeile und Spalte färben
22.03.2015 14:00:44
Dieter
Hallo Franz
sorry das die Antwort so lange gedauert hat.
also dein Code funktioiniert wirklich gut, aber kannst du noch einwas ändern?
wenn ich das 1.mal auf ein Butoon drücke, rechnet er mit die Summe aus (ist in Ordnung so), aber wenn ich die Tabelle dann weiterführe und dann auf den 2. Button drücke, dann rechnet er mir WIEDER die komplette Summe von dem GNAZEN Bereich aus -
--ist es möglich, immer nur die Summe auszurechnen, die ich auch gerade eingefärbt habe?
danke dir noch einmal für deine Hilfe
Grüße Dieter

AW: letzte Zeile und Spalte färben
22.03.2015 15:54:15
Dieter
Hallo Franz
hat sich erledigt-
habe dein ausgeklammertes zu spät gesehen bzw mitbekommen
danke dir noch einmal
Grüße Dieter
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige