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

Artikel oproepen.

Status
Niet open voor verdere reacties.
Beter Machiel?
Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range)
With ComboBox1
    If Not Intersect(Target, Range("A22:A39")) Is Nothing Then
      .Top = Target.Top
      .Left = Target.Left
      .List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
      .Visible = True
      .ListIndex = -1
      .Activate
    Else
      .Visible = False
    End If
 End With
End Sub
 
leegmaken

Harry
Ga morgenvroeg gelijk proberen maar zal wel goed zijn.

mvg.
Machiel
 
Foutmelding

Hallo Harry
Als ik de eerste regel leeg maak krijg ik bij de tweede regel een foutmelding en doe foutopsporing.
Deze regel wordt dan in zijn geheel geel gemarkeerd.
.List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value

Kun je de bij jouw goed werkende versie even als bijlage meegeven.

mvg.

Machiel

Private Sub Worksheet_selectionChange(ByVal Target As Range)
With ComboBox1
If Not Intersect(Target, Range("A22:A39")) Is Nothing Then
.Top = Target.Top
.Left = Target.Left
.List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
.Visible = True
.ListIndex = -1
.Activate
Else
.Visible = False
End If
End With
End Sub
 
Welke eerste regel van welk blad?

Als je daar een fout op krijgt heb je vast geen currentregion (aaneengesloten bereik) meer.
 
artikel

Bij het verwijderen van een artikel in A22 en verliest dan ook het pulldown om een keuze te bepalen.
Bij het verwijderen middels delete A23 komt dan de foutmelding.
Ook werkt dan het ingeven van de 1e letter niet.

mvg.
Machiel
 
Laatst bewerkt:
Doe je invoer met een dubbelklik.


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 ComboBox1.Visible = False
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With ComboBox1
    If Not Intersect(Target, Range("A22:A39")) Is Nothing Then
      .Top = Target.Top
      .Left = Target.Left
      .List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
      .Visible = True
      .ListIndex = -1
      .Activate
    End If
 End With
 Cancel = True
End Sub
 

Bijlagen

Laatst bewerkt:
Vreemd.

Is dit beter?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ComboBox1
    If Not Intersect(Target, Range("A22:A39")) Is Nothing and target.count = 3 Then
      .Top = Target.Top
      .Left = Target.Left
      .List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
      .Visible = True
      .ListIndex = -1
      .Activate
    else
      .Visible = False
    End If
 End With
End Sub
 
Vreemd.

Is dit beter?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ComboBox1
    If Not Intersect(Target, Range("A22:A39")) Is Nothing and target.count = 3 Then
      .Top = Target.Top
      .Left = Target.Left
      .List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
      .Visible = True
      .ListIndex = -1
      .Activate
    else
      .Visible = False
    End If
 End With
End Sub


Harry
Het werkt met de artikelen perfect maar waar het om gaat dat ik een ingevoerd artikel uit de factuur kan verwijderen.
Dit lukt niet door op de regel te klikken en delete en heb ook geen mogelijkheid op de formulebalk om de tekst te verwijderen.
Ik heb wel teamviewer als dat handiger is.
mvg.
Machiel
 
Daarom schreef ik, doe de invoer met een dubbelklik dan kan je met de selectionchange een iets verwijderen.
 
Artikel

Harry
Het werkt wel maar ik had verwacht dat het simpel met een delete zou werken.

Bedankt nogmaals en hoop nog eens een beroep op je te mogen doen.

mvg.
Machiel
 
Dit is ook simpel, maar of dat nu een goede oplossing is?
Elke keer je op een cel in het bereik komt wordt het eerst leeggemaakt.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 With ComboBox1
    If Not Intersect(Target, Range("A22:A39")) Is Nothing Then
[COLOR=#0000ff]      target = ""[/COLOR]
      .Top = Target.Top
      .Left = Target.Left
      .List = Sheets("artikelen").Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
      .Visible = True
      .ListIndex = -1
      .Activate
    Else
      .Visible = False
    End If
 End With
End Sub
 
Oplossing

Harry
Eigenlijk is dit progje bedoeld voor verenigingen in de duivensport en zal dus kwa artikelen e.d. zeer klein zijn maar omdat in deze hobby het bijna allemaal oudjes zijn die net als ik boven de zeventig zijn lijkt mij dit wel de beste oplossing want er hoeft minder uitgelegd te worden.
Mocht jij evenwel betere suggesties hebben houdt ik me aanbevolen.

mvg.
Machiel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan