PDA

Vollständige Version anzeigen : Spalten ausblenden


charlie48
03.09.2017, 09:09
Hallo Ecxelgemeinde
bräuchte bei diesem Makro mal eure Hilfe

Sub Makro_SM()
Range("E:E,F:F,G:G,H:H,I:I,J:J,K:K,L:L,M:M,O:O,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,Z:Z, AA:AA,AB:AB,AC:AC,AE:AE,AF:AF,AG:AG,AH:AH,AI:AI,AJ:AJ,AK:AK,AL:AL,AM:AM,AN:AN,AO :AO,AQ:AQ,AR:AR,AS:AS,AT:AT,AU:AU,AV:AV,AW:AW,AX:AX,AY:AY,AZ:AZ,BA:BA,BC:BC,BD:B D,BE:BE,BF:BF,BG:BG,BH:BH,BI:BI,BJ:BJ,BK:BK,BL:BL,BM:BM").EntireColumn.Hidden = True

End Sub
da kommt immer die Fehlermeldung 1004
die Methode Range für das Projekt Global ist fehlgeschlagen
als VBA-Anfänger kann ich damit nichts anfangen.
Danke schon mal für eure Antworten

Hajo_Zi
03.09.2017, 09:20
ich würde mal vermuten der Bereich ist zu Groß. Arbeite mit Union

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

charlie48
03.09.2017, 09:36
Hallo Hajo
wie müsste das dann aussehen
mit range auf z.B. auf 3 Bereiche verteilen und mit Union.range ansprechen,
bin halt nur VBA-Anfänger

Hajo_Zi
03.09.2017, 09:44
ich hätte vermutet in der Art
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
' Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
' Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
' Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
' Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
' Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
' Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))

Ich habe nur einen Notrechner und teste das nicht.

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

Oge
03.09.2017, 09:51
Hallo charlie,

da du mit "EntireColumn" sowieso die gesamten Spalten ansprichst, kannst du in Range auch nur immer eine Zelle pro Spalte auswählen. Ein Zusammenfassen benachbarter Zellen vereinfacht die Eingabe.

zB

Range("E1:M1,O1,Q1:AC1,AE1:AO1,AQ1:BM1").EntireColumn.Hidden = True

charlie48
03.09.2017, 10:23
Hallo
Danke werde ich später mal durchtesten,
melde mich welcher Vorschlag geht.

BetziBe
03.09.2017, 14:02
Hallo Charlie

Sub Schaltfläche1_Klicken()
Range("E:M,O:O,Q:AC,AE:AO,AQ:BA,BC:BM").Select
Selection.EntireColumn.Hidden = True
Range("A1").Select
End Sub


Gruß Betzi

charlie48
11.09.2017, 06:40
Hallo Excelgemeinde
war leider etwas indisponiert, bin jetzt erst dazu gekommen.
Es funktionieren alle Vorschläge, danke nochmals.