2016-10-19 5 views
0

Ich versuche, den folgenden Code zu verwenden, um zu überprüfen, ob eine Spalte leer ist, und wenn ja, sollte sie gelöscht werden, aber es gibt mir einen Bereichsfehler. Was mache ich falsch?Testen, ob Spaltenwerte = 0 ist, dann

Sub Hide() 


    If Range(E3, E1549) = "" Then 

     Columns("E:E").Hidden = True 

     End If 

     End Sub 
+0

die 'Dim Sominha As String' sollte nicht da sein, kann jemand bearbeiten? – Serveira

Antwort

0

Dies ist ähnlich den Test, den Sie im Arbeitsblatt durchführen würde:

Sub Hide() 
    Dim r As Range 

    Set r = Range("E3:E1549") 

    If Application.WorksheetFunction.CountBlank(r) = r.Count Then 
     Columns("E:E").Hidden = True 
    End If 
End Sub 

COUNTBLANK() zählt leere Zellen, Zellen NULL enthalten, und Zellen mit Formeln, die NULL zurückgeben.

+0

Danke, es funktioniert! +1 – Serveira

+0

Ich versuche, diesen Code zu ändern, es mit einer Schleife zu verwenden, warum nicht die folgende Arbeit ?: 'Sub ausblenden() Dim r As Range Dim col As Range l = 3 Stellen r = Range ("E3: E1549") Set col = Spalten ("l") Wenn Application.WorksheetFunction.CountBlank (r) = r.Count Dann col.Hidden = True End If End Sub' – Serveira

0

Sie bekommen einen Range Fehler, weil Ihr Bereichsbezug nicht richtig gebildet wird. Und Sie können nicht eine ganze Range gegen einen einzelnen Wert überprüfen, es sei denn, Sie erstellen eine Schleife. Sie können die Prüfung mit einer Tabellenfunktion machen:

If WorksheetFunction.CountA(Range("E:E")) = 0 Then 
    Debug.Print "Column is empty" 
Else 
    Debug.Print "Column is not empty" 
End If 
+0

Die Sache ist, dass, wenn ich eine Schleife erstellen wird es ewig dauern wird zu beenden, da das Blatt riesig ist. Ist es dann möglich zu überprüfen, ob die Summe dieser Spalte = 0 ist, dann Spalten ("E: E"). Versteckt = Wahr? – Serveira

+0

Werfen Sie einen Blick auf die 'CountA' [Dokumentation] (https://www.techonthenet.com/excel/formulas/counta.php). Diese Funktion sagt Ihnen, ob die Zellen im Bereich leer sind - wenn der Bereich leer ist, gibt die Funktion Null zurück (weil es im Bereich keine leeren Zellen gibt). Dann ja, Sie können Spalte E ausblenden, wenn Sie basierend auf diesem Ergebnis möchten. – PeterT

Verwandte Themen