Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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

Felder einfärben und Spalten ausblenden

Felder einfärben und Spalten ausblenden
30.01.2017 23:06:23
Markus
Hallo zusammen
Ich hab da mal eine Aufgabe bei der ich Hilfe gebrauchen könnte.
https://www.herber.de/bbs/user/111019.xlsm
In A11 bis A16 (nur ein Ausschnitt) seht ihr Farbcodes, welche für die jeweilige Zeile gültig sind.
Wenn ich nun einen Bereich (mehrer Zellen) irgendwo zwischen D11 und P16 markiere und auf den Button "Felder einfärben" clicke, hätte ich gerne, dass alle Felder mit einer Zahl, die entsprechende Hintergrundfarbe wie in Spalte A erhalten.Bei Feldern ohne Inhalt, soll die Hintergrundfarbe entfernt werden.
Und mit einem click auf "Spalten mit 1 ausblenden" würde ich gerne alle Spalten ausblenden, welche in der Zeile 8 eine 1 haben. Oder eben wieder alle Spalten sichtbar machen.
Vielen herzlichen Dank für eure Hilfe schon mal im Voraus.
Gruß Markus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Felder einfärben und Spalten ausblenden
31.01.2017 04:04:20
Matthias
Hallo
Option Explicit
Sub OhneFarbe()
With Range("D11:P16").Interior
.Pattern = xlNone
End With
End Sub
Sub Faerben()
Dim RnG As Range
For Each RnG In Range("D11:P16")
If IsNumeric(RnG) And RnG  "" Then RnG.Interior.Color = Cells(RnG.Row, 1).Interior.Color
Next
End Sub
Sub einblenden()
Application.ScreenUpdating = False
Columns("D:P").EntireColumn.Hidden = False
End Sub
Sub ausblenden_1_in_Zeile_8()
Dim x&
Application.ScreenUpdating = False
For x = 4 To 16
If Cells(8, x) = 1 Then
Columns(x).Hidden = True
End If
Next
End Sub

Den Code nun den entsprechenden Button zuweisen.
Gruß Matthias
Anzeige
AW: Felder einfärben und Spalten ausblenden
31.01.2017 08:16:58
markus
Hallo Matthias,
vielen Dank für deine Hilfe - funktioniert super.
Allerdings ist meine Tabelle riesen groß und ich überlege, ob ich den Range-Bereich auch durch eine händische Auswahl jedes mal neu zuweisen kann?
Gruß Markus
das musst Du selbst wissen ;-)
31.01.2017 09:42:15
Matthias
Hallo
Den Bereich kannst Du natürlich auch händisch setzen,
oder für den Bereich auch einen Namen definieren.
Gruß Matthias
AW: das musst Du selbst wissen ;-)
31.01.2017 12:22:22
markus
Hallo Matthias,
da habe ich einfach ein paar Hirnwindungen zu wenig. Ich stelle mir vor, dass ich mit der Maus den entsprechenden Bereich in der Tabelle markiere und dann das Makro starte. Es wird dann auch nur in dem Bereich ausgeführt. Wenn das nicht geht, ist es halt so.
Den Bereich über einen Namen zu definieren und dort abgreifen ist gut - da sich der Bereich aber wirklich ständig ändert ist das für mich eher uninteressant.
Danke trotzdem.
Markus
Anzeige
dann benutze nur Selection statt Range(...)
31.01.2017 14:57:15
Matthias
Hallo
Dann musst Du im Code statt Range(DeineMatrix) eben Selection benutzen
Option Explicit
Sub OhneFarbe()
With Selection.Interior
.Pattern = xlNone
End With
End Sub
Sub Faerben()
Dim RnG As Range
For Each RnG In Selection
If IsNumeric(RnG) And RnG  "" Then RnG.Interior.Color = Cells(RnG.Row, 1).Interior.Color
Next
End Sub
Gruß Matthias
AW: dann benutze nur Selection statt Range(...)
02.02.2017 12:27:29
markus
Vielen Dank Matthias,
genau das habe ich gesucht.
Gruß Markus

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige