• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

fOUTMELDING

Status
Niet open voor verdere reacties.

verluc

Gebruiker
Lid geworden
29 mei 2009
Berichten
535
Bij het uitvoeren van onderstaande macro krijg ik de foutmelding:

Typen komen niet overeen

Code:
Sub Basel()
Columns("O,Q").EntireColumn.Hidden = _
Not Columns("O,Q").EntireColumn.Hidden
End Sub

Iemand enig idee ?
 
Wijzig de , in een :
Code:
Sub Basel()
    Columns("O:Q").EntireColumn.Hidden = _
    Not Columns("O:Q").EntireColumn.Hidden
End Sub
 
en verder:

Code:
Sub M_Basel()
    Columns("O:Q").Hidden = Not Columns("O:Q").Hidden
End Sub
 
Hello SNB en Edmoor,

De notitie in deze macro zou moeten uitvoeren : O EN Q en niet VAN O TOT Q
 
Dat had je er niet bij verteld:
Code:
Sub M_Basel()
    Range("O:O,Q:Q").EntireColumn.Hidden = Not Range("O:O,Q:Q").EntireColumn.Hidden
End Sub
 
Code:
Sub M_snb()
   With Columns(15)
        .Hidden = Not .Hidden
         Columns(17).Hidden = .Hidden
   End With
End Sub
 
Sorry, Edmoor voor deze tekortkoming in mijn vraagstelling.
Uw aangegeven macro doet thans inderdaad wat mijn bedoeling was.
Echter na ingave van een getal komen alle kolommen terug zichtbaar.
Kan dit zo worden aangepast dat deze enkel zichtbaar worden wanneer de macroknop
nogmaals word ingedrukt ?
 
Dat is precies wat mijn voorbeeld doet. Als ze zichtbaar zijn zal de knop ze verbergen en andersom.
Kennelijk heb je ook nog iets in de Worksheet_Change zitten die zich daarmee bemoeid.
 
Laatst bewerkt:
Inderdaad, hoe kan je het weten: bij uitschakeling van de Worksheet_Change werkt Uw antwoord
op mijn vraag perfect.
Maar wat is dan de fout in onderstaande macro die de goede werking verhindert ?

Code:
'Sub Worksheet_Change(ByVal Target As Range)
'Application.ScreenUpdating = False
'Application.EnableEvents = False
'Range("A4:D1000").HorizontalAlignment = xlLeft
'Range("B4:C1000").HorizontalAlignment = xlCenter
'Range("D4:D1000").HorizontalAlignment = xlLeft
'On Error Resume Next
'  If Target.Column < 5 Then Target = UCase(Target)
'    Columns.AutoFit
 '   Range("A4:W" & Range("A" & Rows.Count).End(xlUp).Row).Sort Range("A4")
 '   Range("A4:W" & Range("A" & Rows.Count).End(xlUp).Row).Sort Range("D4")
 '   Rows.AutoFit
    'Application.Goto Target.EntireColumn.Find(vT, lookat:=xlWhole)
'Application.EnableEvents = True
'Application.ScreenUpdating = True
'End Sub
 
Code:
Columns.AutoFit
maakt de kolommen weer zichtbaar.
 
En dus de verborgen kolommen weer zichtbaar. (mits er wat in staat)

Code:
Sub VenA()
Columns(1).Hidden = 1
MsgBox Columns(1).Hidden
Columns.AutoFit
MsgBox Columns(1).Hidden
End Sub
 
Dat schrijf je juist (mits er wat in staat).
 
Allen zeer bedankt voor voorstellen en suggesties.
Probleem is opgelost waarvoor nogmaals mijn waardering.
 
Tip voor verluc in #9.
Als je direct onder de Sub Worksheet_Change de tekst Exit Sub zet wordt de rest van de code ook niet uitgevoerd.
Dan hoef je niet al die enkele quotes te zetten en naderhand weer te verwijderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan