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

SpecialCells(xlCellTypeConstants.. nur eine Zelle

SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 16:46:10
UweD
Hallo
habe gerade einen Fehler in meinem Code festgestellt,
In einem ermittelten Range RNG sollen alle Zellen mit Text bearbeitet werden.
Das funktioniert mit SpecialCells(xlCellTypeConstants.. auch gut.
Aber:
Wenn nur eine Zelle im Range vorhanden ist, dann werden alle Zellen der Blattes betrachtet.
Wie kann ich das ändern?
Userbild
hier eine Musterdatei:
https://www.herber.de/bbs/user/115895.xlsm
Wenn in C3 auch ein Eintrag steht, dann klappt es.
Sub Test()
    Dim RNG, LR2 As Integer
    Dim EZ2 As Integer
    
    EZ2 = 2
    With Sheets("Tabelle1")
        LR2 = .Cells(.Rows.Count, 3).End(xlUp).Row
        If LR2 < EZ2 Then Exit Sub
        Set RNG = .Range(.Cells(EZ2, 3), .Cells(LR2, 3))
        
        If WorksheetFunction.CountA(RNG) > 0 Then
            'Application.EnableEvents = False 
           
           '*** alle auf Update setzen 
            RNG.SpecialCells(xlCellTypeConstants, 2).Select '.Value = "Update" 
        End If
    End With
    
End Sub

LG UweD

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

Betreff
Datum
Anwender
Anzeige
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 17:15:48
onur
Meinst du so was?
Sub Test()
Dim RNG, LR2 As Integer
Dim EZ2 As Integer
Dim Zelle As Range
EZ2 = 2
With Sheets("Tabelle1")
LR2 = .Cells(.Rows.Count, 3).End(xlUp).Row
If LR2 

AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 18:25:01
UweD
Hallo
nein, ich will alle auf einmal ändern.
LG UweD
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 18:31:12
onur
macht das makro doch auch.
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 18:40:31
UweD
Hallo nochmal
dein Makro arbeitet alle Zellen in RNG einzeln ab.
For Each Zelle In RNG...
Trotzdem Danke, dass du dich der Sache angenommen hast
Siehe meine Lösung bei der Antwort bei Daniel
LG UweD
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 17:37:18
Daniel
Hi
das ist öfters so, dass wenn du nur eine Zelle angibst, Excel den Bereich automatisch erweitert.
z.B. beim Suchen/Ersetzen oder beim Autofilter
in dem Fall müsstest du noch eine zusätzliche Fallunterscheidung einbauen:

if LR2 > EZ2 Then
Exit Sub
ElseIF LR2 = EZ1 then
If Vartype(.Cells(EZ2, 3)) = vbString then .Cells(EZ2, 2) = "Update"
else
Set RNG = .Range(.Cells(EZ2, 3), .Cells(LR2, 3))
RNG.SpecialCells(xlCellTypeConstants, 2).Select '.Value = "Update"
End If
Gruß Daniel
Anzeige
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 18:37:41
UweD
Hallo Daniel
Danke für den Tipp
Ich hab es jetzt so gelöst.

AnzTmp = WorksheetFunction.CountA(RNG)
If AnzTmp > 0 Then
Application.EnableEvents = False
If AnzTmp = 1 Then
RNG.Value = "Update"
Else
RNG.SpecialCells(xlCellTypeConstants, 2).Value = "Update"
End If
Application.EnableEvents = True
'*** usw
End If
LG UweD
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
30.08.2017 22:35:08
Gerd
Guten Abend Uwe,
....., was man könnte, aber nicht müsste :-)
Sub Test4()
Dim RNG, LR2 As Integer
Dim EZ2 As Integer
EZ2 = 2
With Sheets("Tabelle1")
LR2 = .Cells(.Rows.Count, 3).End(xlUp).Row
If LR2  0 Then
'Application.EnableEvents = False
'*** alle auf Update setzen
'RNG.SpecialCells(xlCellTypeConstants, 2).Select '.Value = "Update"
Intersect(.Cells.SpecialCells(xlCellTypeConstants, 2), RNG).Select '.Value = " _
Update"
End If
End With
End Sub

Gruß Gerd
Gruß Gerd
Anzeige
AW: SpecialCells(xlCellTypeConstants.. nur eine Zelle
31.08.2017 08:03:29
UweD
Hallo Gerd
auch tricky.
LG UweD

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige