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

Pagina einde selecteren

Status
Niet open voor verdere reacties.
Ik had het al gelezen, vandaar mijn reactie, als jij niet komt met een voorbeeld-bestand van Excel ben ik bang dat er weinig animo is om je te helpen.
 
Dank je Harry, zie post 20.
Heb een document toegevoegd. Ik hoop alleen dat mijn vraag goed is omschreven.
We zijn zo dichtbij de oplossing en kan het jammer genoeg zelf niet. :(
Misschien weet jij wel iets.
 
Natuurlijk.

Code:
[COLOR=#ff0000]Private Sub UserForm_Initialize()[/COLOR]
 TextBox1 = Format(Cells(Rows.Count, 1).End(xlUp).value + 1, "000000000")
End Sub
 
Laatst bewerkt:
Beste Harry,

Waar voeg ik jou formule toe in deze code?

Code:
Private Sub CommandButton1_Click()
For j = 2 To 12
    c00 = c00 & "|" & Me("TextBox" & j)
Next j
With Sheets("data").Cells(Rows.Count, 1).End(xlUp).Offset(1)
    .Value = CInt(Me.TextBox1)
    .Offset(, 1).Resize(, 11) = Split(Mid(c00, 2), "|")
End With
Unload Me
End Sub

Private Sub UserForm_Initialize()
TextBox1 = Application.Max(Sheets("data").Columns(1)) + 1
End Sub
 
Waarom denk je dat ik het in het rood heb geschreven?
 
Haal de 1 en de 2 uit kolom A weg, en probeer het nog maar eens.
 
Kan zijn, daar heb ik niet naar gekeken (is van @VenA).
Werkt dat andere nu al?

Voor nu eerst weer genoeg.
 
Hallo, @VenA @Harry

Heb van alles geprobeerd. De code van Harry maakt dat er
Code:
    .Value = CInt(Me.TextBox1)
Error ontstaat.


De telling gaat maar tot ID 32767. Alles daarboven geeft een Error

Ik heb geen idee hoe dit op te lossen.

Ik zou het liefst willen dat de telling vanaf 216000 - tot oneindig liep.

Hoe pas ik deze aan?
 

Bijlagen

  • Frm_ dutchmarshalls Dutch.xlsb
    20,2 KB · Weergaven: 27
Inderdaad gaat een integer maar tot 32768, dit kun je oplossen door een long te gebruiken.
Door het gebruik van een string kan je er weinig meer mee.
Dit is niet je eigen bestand dus de indeling zal uiteraard wel anders zijn als in dit voorbeeld.

Door gebruik te maken van een array kun je elk element een eigen format meegegeven.
Hier is de code voor het bestand van nu.
Code:
Private Sub CommandButton1_Click()
 Sheets("data").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 12) = Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12)
 Unload Me
End Sub

Stel dat er een datumkolom is en je wilt de juiste format.
Code:
 format(TextBox10,"dd-mmm-yyyy"), TextBox11, TextBox12)
 
Laatst bewerkt:
Hallo Harry,

Hartelijk dank.

Ik denk dat ik het een beetje begin te snappen.

Met de datum format komt dan de datum in box10 wat gelijk is aan column J in dit voorbeeld, klopt dat?

Verder werkt het goed hoor. ;)

Nu is het zo dat ik een bestaand bestand heb met alle 500+data records (contact gegevens).

Hoe zet ik deze formules over naar dat bestand?

Ik kan om privacy redenen dat bestand hier niet posten of openbaar maken.
 
Laatst bewerkt:
Dat klopt helemaal.
Verander de code nog even van "Initialize()".
Als je op een schoon tabblad begint is het wel zo dat het goed moet.
Code:
Private Sub UserForm_Initialize()
With Cells(Rows.Count, 1).End(xlUp)
 If .Row = 1 Then
    TextBox1 = "000000001"
  Else
    TextBox1 = Format(.Value + 1, "000000000")
  End If
 End With
End Sub

Edit op je aangepast schrijven.
Verwijder de gevoelige info en plaats andere gegevens.
Niet te moeilijk doen.
 
Laatst bewerkt:
Beste Harry,

Het is gelukt. Ik ben er zelfs in geslaagd om het invoervak uit te breiden en de gegevens in het originele document te gebruiken.
Ook de nieuwe formule heb ik toegepast en het werkt goed.

Alleen krijg ik in column A steeds en groen vakje te zien met daarin "getal opgeslagen als tekst" en moet ik dit steeds op converteren naar getal plaatsen want anders doet het invoer vak het niet meer.


Ik wil VenA ook hartelijk danken voor de input en het mooie werk dat geleverd is. Hartelijk dank :thumb:

Vast bedankt
 
Als het alleen om de presentatie van het nummer gaat kan je ook deze gebruiken. En de celeigenschappen in kolom A op aangepast 000216000 zetten.

Code:
Private Sub UserForm_Initialize()
TextBox1 = Format(Application.Max(Sheets("data").Columns(1)) + 1, "000216000")
End Sub

Deze blijft dan ongewijzigd
Code:
Private Sub CommandButton1_Click()
For j = 2 To 12
    c00 = c00 & "|" & Me("TextBox" & j)
Next j
With Sheets("data").Cells(Rows.Count, 1).End(xlUp).Offset(1)
    .Value = CInt(Me.TextBox1)
    .Offset(, 1).Resize(, 11) = Split(Mid(c00, 2), "|")
End With
Unload Me
End Sub

Edit er is wel een aanpasing nodig

Code:
.Value = CLng(Me.TextBox1)
 

Bijlagen

  • Frm_ dutchmarshalls Dutch(1).xlsb
    20,2 KB · Weergaven: 16
Laatst bewerkt:
@VenA, dit komt er in A2 bij jou (216216001)
Dat lijkt me niet juist.
 

Bijlagen

  • Frm_ dutchmarshalls Dutch.xlsb
    25,7 KB · Weergaven: 21
Laatst bewerkt:
Lijk mij ook niet. Ik was nog wat aan het rommelen:d

Het zal wel zo moeten zijn.

Code:
.Value = CLng(Right(Me.TextBox1, 3))
 
Forgive me but I'm lost.

Ik zie nu zoveel soorten formules dat ik me niet durf te wagen aan een verandering waar het nu als een zonnetje werkt op een klein detailtje na.
Column A geeft een klein hoekje wat ik steeds moet verwijderen want anders doet het VenA systeem het niet meer.
Ik heb de celwaarde op #0000000 staan en ook dat helpt niet echt.

Iemand enig idee?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan