2.5k Aufrufe
Gefragt in Tabellenkalkulation von
ich will in einem Makro Spaltenbreiten z.B. auf null und dann wieder auf 12 setzen
bei den Spalten A -H funktioniert das auch. In den folgenden spalten wird
nicht der angegebene Bereich z.B. P:S markiert sondern ein viel grösser
Bereich z.B. K:AH.

Der selbe Fehler tritt auf wenn ich im Makro nicht Spaltenbreiten verändere sondern
diese aus und einblende.

A:H funktioniert , alle weiteren Spalten werden fehlerhaft markiert und dann natürlich
auch entsprechend "ungewünscht" aus und eingeblendet.

14 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Peter,

hast Du da gleiche Problem bei numerischen Werten?

Gruß Hajo
0 Punkte
Beantwortet von
Test Antwort
0 Punkte
Beantwortet von
0 und 12 sind doch numerische Werte , oder ?
0 Punkte
Beantwortet von
erstes Makro ok, zweites Makro fehlerhaft

Sub KlappeMo()

Mo = Range("D6")
Mo = ActiveCell.Columns("D:D").EntireColumn.ColumnWidth
If Mo = 0 Then
'Spalte ausgeblendet dann einblenden
Columns("D:G").Select
Selection.ColumnWidth = 12
Range("B16").Select
Else
'Spalte eingeblendet dann ausblenden
Columns("D:G").Select
Selection.ColumnWidth = 0
Range("B16").Select
End If

End Sub
Sub KlappeDi()

Mo = Range("J6")
Mo = ActiveCell.Columns("J:J").EntireColumn.ColumnWidth
If Mo = 0 Then
'Spalte ausgeblendet dann einblenden
Columns("J:M").Select
Selection.ColumnWidth = 12
Range("H16").Select
Else
'Spalte eingeblendet dann ausblenden
Columns("J:M").Select
Selection.ColumnWidth = 0
Range("H16").Select
End If

End Sub
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Peter


Du hast geschrieben
Spalten A -H

das sind für mich keine numerischen Angaben das wäre 1:8

Gruß hajo
0 Punkte
Beantwortet von
Jetzt verstehe ich, OK ich habe in dem Makro für den
Wert im ersten Makro ("G:M") jetzt ("4:7") angegeben
Bringt aber Comp.. Fehler im Makro , oder wie muss ich
ersatzweise numerische Werte für Spalten eingeben?
0 Punkte
Beantwortet von
sorry, hab mich verschrieben , meinte ("D:G") hab aber auch im zweiten Makro versucht ("J:M") numerisch zu ersetzen, ging
nicht. kam schon wie gesagt Comp...Fehler.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Peter,

ich habe jetzt folgendes Makro ohne Probleme laufen lassen.

Option Explicit

Sub KlappeDi()
Dim Mo As Double
Mo = Range("J6")
Mo = ActiveCell.Columns("J:J").EntireColumn.ColumnWidth
If Mo = 0 Then
'Spalte ausgeblendet dann einblenden
Columns("J:M").ColumnWidth = 12
Else
'Spalte eingeblendet dann ausblenden
Columns("J:M").ColumnWidth = 0
End If
End Sub


Gruß hajo
0 Punkte
Beantwortet von
Hallo hajo , erst mal besten Dank für die Geduld

Habe makro kopiert und angewendet

Spalten werden zwar minimiert (0) aber im nächsten Durchlauf
nicht mehr vergrössert (12)

Die Frage "ist Mo null" wird falsch ausgelesen.

Habe das mit einer msgbox ausgeben lassen

Die hat bei Spaltenbreite 0 noch 10,78 ausgegeben
das wird wohl der knackpunkt sein

p.s habe Hintr Range noch select angehängt
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Peter,

das Range ist sinlos, bzw. Falsch an der Stelle.

Option Explicit

Sub KlappeDi()
Dim Mo As Boolean
Mo = Columns("J:J").EntireColumn.Hidden
If Mo Then
'Spalte ausgeblendet dann einblenden
Columns("J:M").ColumnWidth = 12
Else
'Spalte eingeblendet dann ausblenden
Columns("J:M").ColumnWidth = 0
End If
End Sub


Gruß hajo
...