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

VBA Schleife mit einzelner Zellbearbeitu

VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 11:46:59
Oliver
Hallo, ich habe Probleme damit eine Arbeitsmappe zu durchsuchen. Es soll jede Zelle einzeln auf Inhalt prüfen und bei dem Inhalt die Eigenschaften wie Schriftart und Schriftgröße ändern. Der Code unten geht schon jede einzelne Zelle bis zu den leeren Zellen durch, allerdings fehlt mir jetzt in der "with" Funktion wie ich in jeder Zelle einzeln die Eigenschaften ändere. (alles auf einmal ändern habe ich schon geschafft)
Sub Schriftart()
Dim Zeile As Long
Dim EndeZeile As Long
Dim Spalte As Long
Dim EndeSpalte As Long
With Tabelle1
EndeZeile = .UsedRange.Rows.Count
EndeSpalte = .UsedRange.Columns.Count
For Spalte = 1 To EndeSpalte
For Zeile = 1 To EndeZeile
If .Cells(Zeile, Spalte).Value  "" Then
With Zelle
.Name = "Times New Roman"
.Size = 14
End With
End If
Next Zeile
Next Spalte
End With
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 12:56:21
Werner
Hallo,
(alles auf einmal ändern habe ich schon geschafft)
und weshalb willst du das dann per Schleife machen?
With Zelle.Font
Gruß Werner
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 12:59:21
JoWE
Hallo,
"Zelle" ist nicht belegt.
So gehts:
With Cells(Zeile, Spalte).Font 'statt With Zelle.Font
.Name = "Times New Roman"
.Size = 14
End With
Gruß
Jochen
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 13:11:39
Oliver
Danke, das hat funktioniert! Da wird quasi jede einzelne Zelle als Objekt gewertet richtig?
AW: ja, so isses :-)
03.08.2020 13:14:49
JoWE
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 12:59:23
Klaus
Hallo Werner,
da "Zelle" nirgendwo definiert ist, wird das nicht klappen.
with .Cells(Zeile, Spalte).font
müsste es heißen. Dass die Lösung quatsch ist habe ich aber einen Thread weiter unten schon geschrieben :-)
LG,
Klaus
Anzeige
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 13:07:18
Oliver
Ich möchte es zu Übungszwecken per Schleife machen :) bin gerade dabei VBA zu lernen
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 12:58:02
Klaus
Hi Oliver,
im Prinzip so:
Sub Schriftart()
Dim EndeZeile As Long
Dim EndeSpalte As Long
Dim MyRng As Range
With Tabelle1
EndeZeile = .UsedRange.Rows.Count
EndeSpalte = .UsedRange.Columns.Count
For Each MyRng In .Range(.Cells(1, 1), .Cells(EndeZeile, EndeSpalte))
If MyRng.Value  "" Then
With MyRng.Font
.Name = "Times New Roman"
.Size = 14
End With
End If
Next MyRng
End With
End Sub
ich hoffe aber, dass du nur einen Teil deines Codes gepostet hast - und habe dir daher deine Frage exakt beantwortet. Performant oder sinnvoll ist das nämlich nicht. Die gestellte Aufgabe könnte man auch ganz ohne Schleife lösen:
Sub Schriftart()
On Error GoTo hell
With Tabelle1.Cells.SpecialCells(xlCellTypeConstants, 23)
.Name = "Times New Roman"
.Size = 14
End With
hell:
If Err.Number = 1004 Then MsgBox ("Keine gefüllten Zellen gefunden")
End Sub

Das ist garantiert schneller. Ob du die Lösung auf dein Problem abstrahieren kannst weiss ich aber natürlich nicht.
Wenn du wirklich nur alle Zellen in TNR-14 haben möchtest, dann markiert doch einfach alle Zellen mit STRG+A und stelle TNR-14 ein .... in den leeren Zellen ist dir doch egal, welche Schriftart dort herrscht, oder?
LG,
Klaus.
Anzeige
AW: VBA Schleife mit einzelner Zellbearbeitu
03.08.2020 13:18:48
Oliver
Also der Code oben ist der komplette, mit einer geringen Ergänzung hat er auch so funktioniert wie er sollte. Meine Frage zu deinem Code... was sagt mir denn dieser Range Befehl?

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige