• 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.

Variabel bereik

Status
Niet open voor verdere reacties.

wiki

Gebruiker
Lid geworden
2 okt 2007
Berichten
576
Ik wil graag een bereik selecteren van cel "a1" tot de laatst in gebruik zijnde cel.
Ik heb de volgende regel, maar deze stopt altijd bij kolom c (maw vast einde)
Code:
Range("A1", Range("c1").End(xlDown)).Select

en hoe krijg ik het dan verkregen bereik of code verwerkt in de volgende regel:
Code:
Sheets(1).Range("$A$1:$Z$7500").AutoFilter

gr Wim
 
Laatst bewerkt door een moderator:
Ik wil graag een bereik selecteren van cel "a1" tot de laatst in gebruik zijnde cel.
Ik heb de volgende regel, maar deze stopt altijd bij kolom c (maw vast einde)
PHP:
Range("A1", Range("c1").End(xlDown)).Select

en hoe krijg ik het dan verkregen bereik of code verwerkt in de volgende regel:
PHP:
Sheets(1).Range("$A$1:$Z$7500").AutoFilter

gr Wim

Wellicht bedoel je UsedRange.

Met vriendelijke groet,


Roncancio
 
Daar lukt het mee. Ik heb deze ooit eerder gebruikt maar helemaal vergeten.

Bedankt voor je hulp vandaag:thumb:

gr Wim
 
Roncancio ik heb toch nog een klein vraagje.
Alle vragen van vandaag hadden betrekking op een zoekfunctie met een userform in een te kiezen kolom.
De kolom wordt nu geselecteerd door het kolomnummer te kiezen.
Ik gebruik nummer omdat Field deze nodig heeft.

Hoe kan ik in de combobox een letter gebruiken en field naar de juiste kolom laten verwijzen?

Hoe kan ik de Userform1.hide automatisch activeren als ik
naar een andere applicatie ga?
 

Bijlagen

  • zoeken_verbeterd.xls
    89 KB · Weergaven: 24
Ook al zet je een getal neer in een tekstbox dan nog wordt het door VBA gezien als tekst en niet als getal.
Dit kan je makkelijk oplossen door CDbl te gebruiken.
CDbl converteert tekst naar een Double (heel getal),

Bijvoorbeeld:
Code:
        Sheets(1).UsedRange.AutoFilter Field:=[B]CDbl([/B]ComboBox1.Value[B]),[/B] Criteria1:="=*" & TextBox1.Value & "*"

Met vriendelijke groet,


Roncancio
 
als ik:
PHP:
ComboBox1.Value
vervang door:
PHP:
CDbl(ComboBox1.Value)
stopt de macro hier en ook het vervangen van cijfers door letters lukt niet. De lijst blijft leeg.

Moet ik iets anders ook aanpassen?

gr wim
 
Voor de zekerheid heb ik het bestand bijgevoegd.

Met vriendelijke groet,


Roncancio
 

Bijlagen

  • zoeken_verbeterd.xls
    83 KB · Weergaven: 459
Ik heb het onderstaande aangepast,
PHP:
Private Sub UserForm_Activate()
ComboBox1.List = Array(a, b, c, d, e, f, g, h, i)
ComboBox1.Value = a

TextBox1.Value = ""

OptionButton1.Value = True

End Sub
maar de lijst blijft leeg en bij het invullen van een letter krijg ik een foutmelding
PHP:
 CDbl(ComboBox1.Value) = <Typen komen niet met elkaar overeen>
:(
 
CDbl converteert tekst naar een Double (heel getal),

Het double datatype is geen heel getal, maar een kommagetal. Voor een conversie naar een geheel getal dien je CInt of CLng te gebruiken. Praktisch gaat dat alleen een verschil uitmaken wanneer je ook een kommagetal ingeeft. cdbl gaat met die komma blijven werken, maar cint en clng laten die vallen.
 
Het double datatype is geen heel getal, maar een kommagetal. Voor een conversie naar een geheel getal dien je CInt of CLng te gebruiken. Praktisch gaat dat alleen een verschil uitmaken wanneer je ook een kommagetal ingeeft. cdbl gaat met die komma blijven werken, maar cint en clng laten die vallen.

Ook met deze aanpassing lukt het me niet:(

gr wim
 
Je kunt geen getal maken van A.
Dus het converteren van a naar een double zal niet werken.

Met vriendelijke groet,


Roncancio
 
Helaas maar toch bedankt voor het meedenken

gr wim
 
Om de combobox te vullen

Code:
Private Sub UserForm_Activate()
    ComboBox1.List = Array("a", "b", "c", "d", "e", "f", "g", "h", "i")
    ComboBox1.Value = "a"
    TextBox1.Value = ""
    OptionButton1.Value = True
End Sub

Mvg

Rudi
 
De conversie van een letter naar een getal:

Code:
combobox1.list=split("a|b|c|d|e|f|g","|")
Sheets(1).UsedRange.AutoFilter asc(ComboBox1.Value)-64, "=*" & TextBox1.Value & "*"
 
@snb na jouw prachtige voorzet werkt hij volgens onderstaande prima :thumb:
Code:
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
If Len(TextBox1.Value) = 0 Then
    Sheets(1).AutoFilterMode = False
Else
    If OptionButton1.Value = True Then
        Sheets(1).UsedRange.AutoFilter Asc(ComboBox1.Value) - [COLOR="Red"]96[/COLOR], [COLOR="red"]"=*" [/COLOR]& TextBox1.Value & "*"
    ElseIf OptionButton2.Value = True Then
        Sheets(1).UsedRange.AutoFilter Asc(ComboBox1.Value) - [COLOR="red"]96[/COLOR], [COLOR="red"]"="[/COLOR] & TextBox1.Value & "*"
    Else: TextBox1.Value = "ERROR!"
    End If
End If
Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Activate()
    ComboBox1.List = Split("a|b|c|d|e|f|g|h|i", "|")
    ComboBox1.Value = "a"
    TextBox1.Value = ""
    OptionButton1.Value = True
End Sub

Mvg

Rudi
 

Bijlagen

  • zoeken_verbeterd(1).xls
    84 KB · Weergaven: 60
Laatst bewerkt:
Code:
Private Sub TextBox1_Change()
  Application.ScreenUpdating = False
  Sheets(1).AutoFilterMode = False
  If TextBox1.Text <>"" and OptionButton1.Value Then Sheets(1).UsedRange.AutoFilter Asc(ComboBox1.Value) - 96, "=" & iif(OptionButton2.Value,"*","") & TextBox1.Text & "*"
  Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Initialize()
    ComboBox1.List = Split("a|b|c|d|e|f|g|h|i", "|")
End Sub

Private Sub UserForm_Activate()
    ComboBox1.Value = "a"
    TextBox1.Value = ""
    OptionButton1.Value = True
End Sub
 
Heren bedankt voor de aaanvulling ook al was de topic gesloten:thumb:


gr wim
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan