Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Jede 8.Zelle formatieren

Jede 8.Zelle formatieren
04.03.2008 13:13:32
TOM
Hallo,
ich suche eine Möglichkeit, jede 8.Zelle von oben (ab D10), dann D18, D26 usw zu formatieren.
Im Moment löse ich es per "Handarbeit" - ziemlich mühsam, uneffektiv und nicht variabel einsetzbar ...
Wie kann man folgenden Code optimieren:
Range("D10,D18,D26,D34,D42,D50,D58,D66,D74,D82,D90,D98,D106,D114,D122,D130").Select
Selection.NumberFormat = "General"
Danke vorab
TOM

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede 8.Zelle formatieren
04.03.2008 13:20:00
Beverly
Hi Tom,
wenn es flexibel jede 8. Zeile sein soll

Dim inZeile As Integer
For inZeile = 10 To 130 Step 8
Cells(inZeile, 4).NumberFormat = "General"
Next inZeile




AW: Jede 8.Zelle formatieren
04.03.2008 13:41:42
TOM
Hallo Karin,
danke.
Zusatzfrage: Kannst Du mir diese Bereiche auch "variabel" gestalten?
Set Ber = Range("D3:G9", "D11:G17", "D19:G25", "D27:G33", "D35:G41", "D43:G49", "D51:G57", "D59:G65" usw ) 'nur in diesem Bereich ist eine Formatierung erlaubt
Ab D3 immer +8 und ab G9 auch +8
Wäre super!
Gruß
TOM

Anzeige
AW: Jede 8.Zelle formatieren
04.03.2008 13:59:46
Beverly
Hi Tom,
ich hoffe, ich habe es richtig umgesetzt

Dim inZeile As Integer
For inZeile = 3 To 130 Step 8
Range(Cells(inZeile, 4), Cells(inZeile + 6, 7)).NumberFormat = "General"
Next inZeile




AW: Jede 8.Zelle formatieren
04.03.2008 14:04:37
TOM
Hi Karin,
sicherheitshalber mal der komplette Code, der so wie ich ihn gemacht habe leider nicht funktioniert. Dann tust Du Dir auch leichter (leider kann ich nur mit dem VBA-Rekorder arbeiten bzw kleine Änderungen vornehmen ...) DANKE vorab:

Sub Format()
Dim Mldg As Variant
Dim Ber As Range, isect
Set Ber = Range("D3:G9", "D11:G17", "D19:G25", "D27:G33", "D35:G41", "D43:G49", "D51:G57", " _
D59:G65") 'nur in diesem Bereich ist die Formatierung erlaubt
Set isect = Application.Intersect(ActiveCell, Ber)
If isect Is Nothing Then
Mldg = MsgBox("Bezeichnung in dieser Zelle nicht erlaubt!", vbOKOnly, "Achtung!")
Else
ActiveSheet.Unprotect ("TEST")
ActiveCell.NumberFormat = "@ ""(A)"""
ActiveSheet.Protect ("TEST")
End If
End Sub


Anzeige
AW: Jede 8.Zelle formatieren
04.03.2008 14:31:00
Beverly
Hi Tom,
mir ist die Aufgabenstellung jetzt nicht mehr klar. Soll ein Bereich (oder mehrere) formatiert werden oder soll in diesen Bereichen nur ein bestimmtes Format zugelassen werden, also bei Eingabe von Daten diese Format erzwungen werden?


AW: Jede 8.Zelle formatieren
04.03.2008 14:52:02
TOM
Hi Karin,
sorry, etwas kompliziert aber dennoch ganz einfach (zu verstehen) :-)
In diesen Bereichen Range("D3:G9", "D11:G17", "D19:G25", "D27:G33", "D35:G41", "D43:G49", "D51:G57" usw) soll die Formatierung erlaubt sein. In D10:G11 z.B. wiederum nicht.
Ich kann es über "Handarbeit" lösen, bin aber dann nicht mehr variabel.
Wenn es ne Lösung gibt wäre es super, wenn es zu aufwändig wird, ist es auch nicht so wild.
Aber ich denke Du könntest das hinbekommen :-)
Gruß
TOM

Anzeige
AW: Jede 8.Zelle formatieren
04.03.2008 15:24:00
Beverly
Hi Tom,
leider verstehe ich es immer noch nicht. Was für eine Formatierung? In deinem geposteten Code finde ich "General" nicht mehr.
Wenn ein Code bei der Eingabe von Daten ausgeführt werden soll, dann darf er nicht in einem allgemeine Modul stehen, sondern im Codemodul der betreffenden Tabelle

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Mldg As Variant
Dim Ber As Range, isect As Range
Set Ber = Union(Range("D3:G9"), Range("D11:G17"), Range("D19:G25"), Range("D27:G33"), Range( _
"D35:G41"), Range("D43:G49"), Range("D51:G57"), Range("D59:G65")) 'nur in diesem Bereich ist die Formatierung erlaubt
Set isect = Application.Intersect(Target, Ber)
If isect Is Nothing Then
Mldg = MsgBox("Bezeichnung in dieser Zelle nicht erlaubt!", vbOKOnly, "Achtung!")
Else
ActiveSheet.Unprotect ("TEST")
ActiveCell.NumberFormat = "@ ""(A)"""
ActiveSheet.Protect ("TEST")
End If
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige