Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

xlCellTypeBlanks | Herbers Excel-Forum


Betrifft: xlCellTypeBlanks von: Jonathan
Geschrieben am: 04.01.2012 21:44:55

Hey,

mit folgendem Codeausschnitt sollen Spalten ausgeblendet werden, wenn in der entsprechenden Spalte in Zeile 1 kein Wert steht. Hier habe ich den Bereich mal auf Zeile 3 beschränkt. In Zelle C1 steht die Zahl 1, dennoch wird die Spalte ausgeblendet. DasSeltsame ist zusätzlich, dass ALLE Spalten bis einschließlich AA ausgeblendet werden...

Hat jemand eine IdeE?

Dim DATEN As Worksheet
Set DATEN = Sheets("test")

With DATEN.Range(DATEN.Cells(1, 3), DATEN.Cells(1, 3))
    .SpecialCells(xlCellTypeBlanks).Activate 'EntireColumn.Hidden = True
    .ClearContents
  End With


  

Betrifft: AW: xlCellTypeBlanks von: Josef Ehrensberger
Geschrieben am: 04.01.2012 23:42:05


Hallo Jonathan,

dein Code bezieht sich nicht auf Zeile 3 sondern nur auf A3.

Sub ausblenden()
  Dim rng As Range
  
  With Sheets("Daten")
    On Error Resume Next
    Set rng = .Rows(1).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    If Not rng Is Nothing Then rng.EntireColumn.Hidden = True
  End With
  
  Set rng = Nothing
End Sub






« Gruß Sepp »



  

Betrifft: AW: xlCellTypeBlanks von: Reinhard
Geschrieben am: 05.01.2012 00:45:10

Hallo Sepp,

ich gehe von C1 aus und nicht von A3, aber deshalb schreib ich nicht.

Magst du mir mal bitte erklären warum im nachfolgenden Code die Msgbox B1 anzeigt?

Sub tt2()
Dim DATEN As Worksheet
Set DATEN = Sheets(1)
With Worksheets(1)
  .Range("A1") = 1
  .Range("B1") = ""
  .Range("C1") = 1
  With .Range(.Cells(1, 3), .Cells(1, 3))
    MsgBox .SpecialCells(xlCellTypeBlanks).Address
  End With
End With
End Sub

Gruß
Reinhard


  

Betrifft: AW: xlCellTypeBlanks von: Josef Ehrensberger
Geschrieben am: 05.01.2012 00:54:52


Hallo Reinhard,

natürlich C1, zu deiner Frage, wenn "SpecialCells" nur auf eine Zelle bezogen aufgerufen wird, dann nimmt Excel automatisch den benutzten Bereich als Grundlage, eine Zelle kann ja keine "cells" enthalten.




« Gruß Sepp »