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

Zoeken in tabel bij aanblikken cel

Status
Niet open voor verdere reacties.

knarf100

Gebruiker
Lid geworden
8 dec 2015
Berichten
21
Hoi,

ik ben op zoek naar een oplossing voor mijn vraagstuk:

Ik heb een tabblad (naam: adressen) met data behorende bij bedrijfsnamen, zoals adressen maar ook andere informatie. Ik wil graag op een ander tabblad(naam: verdeling) deze bedrijfsnamen onder elkaar neerzetten en dat als de gebruiker de bedrijfsnaam aanklikt er bovenin het tabblad in een soort split screen er informatie uit het data-tabblad weergegeven wordt behorende bij de geselecteerde cel.

Dit om te voorkomen dat in dat tabblad verdeling veel kolommen krijg met informatie die gebruikers niet hoeven te zien, maar wel kunnen zien als ze de bedrijfsnaam aanklikken.

Ik hoop dat jullie mij kunnen helpen.

Frank
 
En je voorbeeld document?
 
Ik ben geen liefhebber van de selectionchange zoals onderstaande code.
Beter is de dubbelklik, maar ik hoef er niet mee te werken.

In module van blad verdeling.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zoek
If Target.Column = 1 And Target <> "" Then
 With Sheets("adressen")
  zoek = Application.Match(Target, .Columns(1), 0)
  If Not IsError(zoek) Then
    Range("d1").Resize(3) = Application.Transpose(Array(.Cells(zoek, 2), .Cells(zoek, 4), .Cells(zoek, 5)))
    Range("f2") = .Cells(zoek, 6)
    Range("f2").NumberFormat = "# ?/?"
Else
    Range("d1:d3,f2").ClearContents

   End If
 End With
End If
End Sub
 
Bedankt voor de code! Hier ben ik al een stuk mee geholpen, maar als ik in bijvoorbeeld B3 en B4 selecteer krijg ik de foutmelding

Fout 13 tijdens uitvoering: Typen komen niet overeen
 
Zo gaat dat beter.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zoek
If Target.Count = 1 And Target.Column = 1 Then
 If Target <> "" Then
   With Sheets("adressen")
     zoek = Application.Match(Target, .Columns(1), 0)
        If Not IsError(zoek) Then
          Range("d1").Resize(3) = Application.Transpose(Array(.Cells(zoek, 2), .Cells(zoek, 4), .Cells(zoek, 5)))
          Range("f2") = .Cells(zoek, 6)
          Range("f2").NumberFormat = "# ?/?"
        End If
   End With
  Else
    Range("d1:d3,f2").ClearContents
  End If
 End If
End Sub
 
Kijk, al een stuk beter! Bedankt!!!

Maar......ik wil eigenlijk dat deze macro niet geld voor cel b1 tm b5. Hier komt namelijk de output, maar als ik deze aanklik, krijg ik een foutmelding... Is dat te verhelpen?

Frank
 
Als je zegt een foutmelding te krijgen vertel er dan ook bij welke dat precies is.
Foutmeldingen hebben een ander doel dan het pesten van de gebruiker.
De code van HSV gaat alleen aan de slag als je op een cel in kolom A klikt.
 
Oh, sorry., Heb de code aangepast zodat de gegevens die matchen met kolom B opgehaald worden. Alleen de opgehaalde data wordt ook weergegeven in o.a. cellen B1 tm B5. Dus als ik die aanklik krijg ik de foutmelding:

Fout 1004 tijdens uitvoering:
Methode Range van object_Worksheet is mislukt

Hieronder de code

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zoek
If Target.Count = 1 And Target.Column = 2 Then
 With Sheets("adressen")
  zoek = Application.Match(Target, .Columns(1), 0)
  If Not IsError(zoek) Then
    Range("B1").Resize(5) = Application.Transpose(Array(.Cells(zoek, 2), .Cells(zoek, 3), .Cells(zoek, 5), .Cells(zoek, 6), .Cells(zoek, 7)))
    Range("E2") = .Cells(zoek, 13)
    Range("E2").NumberFormat = "# ?/??"
    Range("E3") = .Cells(zoek, 12)
    Range("E3").NumberFormat = "# ?/??"
    Range("E4") = .Cells(zoek, 11)
    Range("E4").NumberFormat = "# ?/??"
    Range("E5") = .Cells(zoek, 10)
    Range("E5").NumberFormat = "# ?/??"
    Range("G2").Resize(1) = Application.Transpose(Array(.Cells(zoek, 8)))
    
Else
    Range("d1:d5,e2:e5", "g2").ClearContents

   End If
 End With
End If
End Sub
 
Probeer dit of plaats anders je document:
Code:
If Target.Count = 1 And Target.Column = 2 And Target.Row > 5 Then

Tevens is dit fout:
Code:
Range("d1:d5,e2:e5", "g2").ClearContents

Kijk goed naar het voorbeeld van HSV.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan