Macro voor kopieren naar juiste cel in juiste tabblad icm udf

Status
Niet open voor verdere reacties.

styxeldiablo

Gebruiker
Lid geworden
17 jul 2016
Berichten
49
Goedemiddag,

Ik probeer een kilometerregistratie-sheet te maken en had kwam er niet geheel uit.

Op het eerste tabblad wil ik graag de gegevens invullen en dan op de knop drukken zodat de gegevens naar het juiste tabblad worden geschreven. Ook moet de formule natuurlijk meerdere ritten kunnen registreren zodat er niet maar 1 rit per tabblad geschreven kan worden zeg maar. In de bladen maak ik gebruik van een udf zodat hij zelf de afstand berekend met google maps... icmBekijk bijlage hulp.xlsm
Ik zie even door de bomen het bos niet meer en dacht wellicht heeft iemand hier de oplossing.

Ik heb het bestandje zover bijgevoegd.
 
Waarom is het blad Naam1 anders dan het blad Naam2?
 
excuus, ik ging stapje voor stapje :p

Had blad1 eerst opgezet zoals ik hem hebben wilde en blad2 had ik nog gelaten voor wat het was :P slordig! haha
 
Beetje een algemene code.
Code:
Sub hsv()
  With Sheets(Sheets("invulblad").[b1].Value).Cells(Rows.Count, 1).End(xlUp)
  .offset(1).Resize(, 2) = Application.Transpose(Sheets("invulblad").Range("b3:b4"))
  .Offset(1, 2) = "=GetDistance(rc[-2],rc[-1])/1000"
  End With
End Sub
 
Laatst bewerkt:
Ik zou het op die manier benaderen
Zie bijlage
Als het tabblad niet bestaat wordt het aangemaakt via de waarde in de combobox, met andere woorden als je 'naam3' intypt in de combobox en de rest van de gegevens heb je een nieuw tabblad met de ingevulde gegevens.
 

Bijlagen

@gast0660,

Dit werkt perfect zo te zien.
Zouden de Km ook op het formulier getoond kunnen worden?
 
Allemaal super bedankt...
Het heeft even geduurd maar ben erg druk geweest van de week :-)
Wat blijft het toch fijn dat er nog mensen behulpzaam zijn die ook nog een met je meedenken..

Heb het een klein beetje aangepast en nu is het precies zoals ik het voor ogen had.

Nogmaals super bedankt voor de hulp!!
 
Nogmaals bedankt...
Ik zal me eventjes verdiepen in de nieuwe info die ik hier heb gekregen... Na deze sheet heb ik weer nieuwe ideeën voor een andere sheet haha...
Mocht ik er niet uitkomen dan hoop ik jullie te treffen op een nieuwe post :-)

Thnx
 
Zonder interactie met een werkblad gaat het en sneller en er is minder code nodig.

Code:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
If ComboBox1.Value = "" Then Exit Sub
If IsError(Evaluate(ComboBox1.Value & "!A1")) Then
    Sheets.Add(, Sheets(Sheets.Count)).Name = (ComboBox1.Value)
    Cells(1).Resize(, 4) = Array("Datum", "Start", "Eind", "Aantal Km's")
    Columns(1).Resize(, 4).ColumnWidth = 16
End If

With Sheets(ComboBox1.Value)
    .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4) = Array(CDate(TextBox2.Value), TextBox3.Value, TextBox4.Value, GetDistance(TextBox3.Value, TextBox4.Value) / 1000)
    MsgBox "Nieuwe ingave is opgeslagen!", vbInformation, ""
End With

For Each Ctrl In Me.Controls
    If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = ""
Next Ctrl
TextBox2.Value = Format(Date, "DD/MM/YYYY")
End Sub
 
Mij lijkt een userform met een paar regels code ook voldoende.

NB. Bij het openen van het werkboek wordt een nieuw werkblad aangemaakt met als naam de username van de gebruiker.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan