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

Cellen koppelen in 2 tabbladen

Status
Niet open voor verdere reacties.

Glenno

Gebruiker
Lid geworden
12 okt 2007
Berichten
159
Hallo allemaal,

Ik kom er niet uit.

Ik heb 2 tabbladen (intake en bestand).
De invoer in het tabblad "intake" moet, op nummer, opgeslagen worden in het tabblad "bestand". En wel onder dezelfde nummering en kolom.
Wanneer ik in het tabblad "intake"vervolgens het nummer wijzig (bijv. een volgend nummer) moeten de (vorige) ingevoerde gegevens bewaard blijven in tabblad "bestand", zodat ik ze t.z.t. weer kan oproepen (bijv. door invoeren van het betreffende nummer in tabblad "intake").

Kan dit met bijv. koppelen van de cellen en/of vert.zoeken? Mij lukt het in ieder geval niet.
Zie bijlage.

Ik hoop op hulp. Alvast dank.

Gr. Glenno
 

Bijlagen

Je kan beter de lege kolommen weglaten (gaat anders ongetwijfeld een keer fout met sorteren) en een echte tabel gebruiken.
 
Cellen in 2 tabbladen koppelen

Deze reactie is zowel gericht aan Sylvester als aan VenA,

Ik heb, zoals voorgesteld door VenA, de lege kolommen verwijderd.

De oplossing is bijna goed/zoals gewenst.
1. Wanneer de ingevoerde gegevens zijn/worden opgeslagen, moet de invoer in tabblad "Intake" verwijderd worden
2. Via tabblad "intake" moeten de gegevens, opgeslagen in tabblad "bestand" ook weer opgeroepen kunnen worden door invoer van het regelnummer.

groet,

Glenno
 

Bijlagen

Je moet er wel rekening mee houden dat een .xlsx geen macro's kan bevatten het bestand moet je opslaan als .xlsm of .xlsb

Voor het opslaan
Code:
Sub VenA()
  ar = Range("B1:B9")
  With Sheets("Bestand")
    x = Application.Match(ar(1, 1), .Columns(1), 0)
    If IsNumeric(x) Then .Cells(x, 1).Resize(, 9) = Application.Transpose(ar) Else .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 9) = Application.Transpose(ar)
  End With
  Application.EnableEvents = False
  Range("B1:B9").ClearContents
  Application.EnableEvents = True
End Sub

Voor het zoeken
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "B1" Then
    x = Application.Match(Target.Value, Sheets("bestand").Columns(1), 0)
    If IsNumeric(x) Then Range("b2:B9") = Application.Transpose(Sheets("Bestand").Cells(x, 2).Resize(, 8).Value) Else MsgBox "bestaat niet"
   End If
End Sub

Een Userform lijkt mij overigens logischer voor dit soort handelingen. (zijn voldoende mooie voorbeelden te vinden op dit forum)
 
Laatst bewerkt:
Beste VenA,

Dankjewel voor je hulp en inspanning.

vr. Gr. Glenno
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan