Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nach WENN Format wechseln? Wie aufrufen?

Forumthread: Nach WENN Format wechseln? Wie aufrufen?

Nach WENN Format wechseln? Wie aufrufen?
18.11.2005 13:29:00
urs
Hallo Excelianer
Ich bekomme den Aufruf der Formatänderung nicht hin. Code siehe unten. s kommt immer die Meldung : Anweisungsende fehlt. Vielen Dank für Eure Hilfe
Es grüsst urs
Sub Size20()
'
' Leere Zellen in Schriftgrösse 20 abändern
'
Dim i As Integer, j As Integer, iCol As Integer, jRow As Integer
For i = 2 To 21 Step 2
iCol = i
For j = 1 To 9 Step 1
jRow = j
Jf Range(jRow, iCol)="" Then
With Selection.Font
.Name = "Arial"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Next j
If i = 7 Then i = i + 1
If i = 14 Then i = i + 1
Next i
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Nach WENN Format wechseln? Wie aufrufen?
18.11.2005 13:45:32
IngGi
Hallo Urs,
was mir so auf die Schnelle auffällt:
Es fehlt die End Sub -Anweisung am Ende des Makros
Es fehlt die End If-Anweisung zur Zeile "Jf Range(jRow, iCol)="" Then"
Das If ist in dieser Zeile mit J statt I geschrieben
Wenn es nur um eine Änderung der Schriftgröße geht, läßt sich das Makro wie folgt abkürzen:

Sub Size20()
' Leere Zellen in Schriftgrösse 20 abändern
Dim i As Integer, j As Integer, iCol As Integer, jRow As Integer
For i = 2 To 21 Step 2
iCol = i
For j = 1 To 9 Step 1
jRow = j
If Range(jRow, iCol) = "" Then Selection.Font.Size = 20
Next j
If i = 7 Then i = i + 1
If i = 14 Then i = i + 1
Next i
End Sub
Gruß Ingolf
Anzeige
Ich erhalte eine Fehlermeldung
18.11.2005 14:18:20
urs
Hallo Ingolf
Vielen Dank für Deinen Typ. Ja, man sollte auch schreiben können was man denkt. Ich habs nicht geschafft. :-)
Wenn ich Deinen Code einfüge, erhalte ich aber folgende Meldung:
Die Methode 'Range? für das Objekt '_Global' ist fehlgeschlagen.
Wo muss ich den Code einfügen? Muss ich irgendwie noch das Tabellenblatt bezeichnen?
Ich starte ja das Makro aus dem aktuellen Tabellenblatt.
Gruss urs
Anzeige
AW: Ich erhalte eine Fehlermeldung
18.11.2005 15:18:36
Beni
Hallo Urs,
Range("") ist ein String, sondern Cells() ist Integer oder Long
If Range(jRow, iCol) = "" Then Selection.Font.Size = 20
in einer Schleife, nicht Selection, die Selection ändert sich nicht.
Gruss Beni

Sub Size20()
' Leere Zellen in Schriftgrösse 20 abändern
Dim i As Integer, j As Integer, iCol As Integer, jRow As Integer
For i = 2 To 21 Step 2
iCol = i
For j = 1 To 9 Step 1
jRow = j
If Cells(jRow, iCol) = "" Then Cells(jRow, iCol).Font.Size = 20 'hier war der Fehler
Next j
If i = 7 Then i = i + 1
If i = 14 Then i = i + 1
Next i
End Sub

Anzeige
AW: Ich erhalte eine Fehlermeldung
18.11.2005 16:04:06
urs
Hallo Beni
vielen Dank für Deine hilfreichen Tips. Ich habe noch manchen "Knorz" mit den verschiedenen "Benamsungen".
Ich wünsche Dir ein schönes Wochemnende
Gruss urs
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige