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

Makro nur auf gefilterte Zellenanwenden

Makro nur auf gefilterte Zellenanwenden
13.03.2017 14:11:23
Marcel
Hallo zusammen,
ich habe ein Makro, dass aber nur auf die über eine Auswahl vorgenommenen Zellen angewandt werden soll. Ich denke, die SpecialCells(xlCellTypeVisible) könnte die Lösung sein aber ich weiß nicht wie ich das richtig einbinde.
Bei einem anderen Makro wurde mir hier geholfen aber das bekomme ich bei dem neuen Makro nicht hin: https://www.herber.de/forum/archiv/1544to1548/t1546603.htm#1546603
Hier das Makro, bei dem ich es nicht hinbekomme:
Sub Neu_formatieren()
Dim lngRow As Long
Dim lngColumn As Long
Dim lngRowgesamt As Long
Dim Bereich As Range
Dim Gesamt As Range
Cells(1, 1) = "Bild"
For lngColumn = 1 To 8000
Columns("A:A").ColumnWidth = 24 'Bild
Next
For lngRow = 2 To 8000
If Trim$(Cells(lngRow, 2).Text)  "" Then
Rows(lngRow).RowHeight = 129.75 'Definiert die Höhe der Zellen
Else
lngRowgesamt = lngRow
Exit For 'Verlässt die For Schleife bei nicht vorhandenen Werten
End If
Next
'Artikelnummer formatieren
Range("B:B").Select
Selection.NumberFormat = "0#\.####\.####"
End Sub
Danke und Grüße

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur auf gefilterte Zellenanwenden
13.03.2017 14:47:31
Daniel
Hi
naja, zunächst einmal solltet du anfangen, beim Programmieren mitzudenken.
ich denke, dass man auch bei geringen Programmierkenntnissen von alleine darauf kommen kann, dass es ausreicht, eine Spaltenbreite 1x einzustellen und das es nicht notwendig ist, dies 8000x hintereinander zu tun.
ansonsten ändere den Code so ab:
alter Code
For lngRow = 2 To 8000
If Trim$(Cells(lngRow, 2).Text)  "" Then
Rows(lngRow).RowHeight = 129.75 'Definiert die Höhe der Zellen
Else
lngRowgesamt = lngRow
Exit For 'Verlässt die For Schleife bei nicht vorhandenen Werten
End If
Next
neuer Code
Each Zelle In Range("B2:B8000").SpecialCells(xlcelltypevisible)
If Trim$(Zelle.Text)  "" Then
Zelle.EntireRow.RowHeight = 129.75 'Definiert die Höhe der Zellen
Else
lngRowgesamt = lngRow
Exit For 'Verlässt die For Schleife bei nicht vorhandenen Werten
End If
Next
gruß Daniel
Anzeige
AW: Makro nur auf gefilterte Zellenanwenden
13.03.2017 17:47:46
Marcel
Danke für den "Rüffel" - ist korrigiert und auch danke für die Anpassung!

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige