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

Autoaanvullen tabel excel geeft volgend jaar in plaats van volgende maand.

Status
Niet open voor verdere reacties.

SjonR

Verenigingslid
Lid geworden
10 nov 2016
Berichten
3.323
Office versie
2016/365
Ik wil via VBA een tabel aanvullen. Dit zal dan het getal naast het laatst ingevulde getal plaatsen. De tabel geeft dan in plaats van de opvolgende maand jul-17 jul-18 weer enz.

Hoe kan ik dit zo instellen dat er wel jul-17, enz. wordt ingevuld?
 

Bijlagen

Laatst bewerkt:
De macro aanpassen die hiervoor is gemaakt?
Blijkbaar is er een macro opgeslagen die iedere keer de volgende maand met jaar pakt.
 
De koprij van een tabel wordt ALTIJD door Excel als tekst behandeld, dus de vulgreep werkt alsof de inhoud tekst is. Als je al VBA code hebt, plak die dan hier zodat wij kunnen kijken...
 
Zoals al in mijn vraag staat plakt het stukje VBA alleen de gegevens achter de laatst ingevulde gegevens.

Code:
Range("A1").End(xlToRight).Offset(1, 1).PasteSpecial

Maar ik was al bang dat jouw antwoord zou verschijnen, Jan Karel. Had al een hoop geprobeerd, maar tevergeefs.

Is het met VBA wel te realiseren?

Iets in de richting van :

Code:
Range("A1").End(xlToRight).Offset(0, 1).Value = ...............................
 
Nu nog iets verzinnen als je van dec-17 naar jan-18 wil.;)

Code:
Sub VenA()
c00 = Application.GetCustomListContents(3)
With Blad1.ListObjects(1)
  c01 = .Range.Cells(1, .Range.Columns.Count)
  .ListColumns.Add
  .Range.Cells(1, .Range.Columns.Count) = c00(Application.Match(Split(c01, "-")(0), c00, 0) + 1) & "-" & Split(c01, "-")(1)
End With
End Sub

Nb. Zelf zou ik nooit zo de tabel opzetten.;)
 
Dank allen! Het volledig automatisch laten verlopen moet ik maar laten varen.

Gr.

Sjon
 
Niet te snel opgeven! ALs je je kopjes formatteert als tekst en vervolgens deze weergave kiest: jan 2017, feb 2017, ... dan werkt deze macro:

Code:
Sub Aanvullen()
    Dim oLo As ListObject
    Dim sName As String
    Set oLo = Worksheets("Blad1").ListObjects(1)
    With oLo.ListColumns.Add
        .Range.Cells(1, 1).NumberFormat = "@"
        .Name = Format(DateSerial(Year(oLo.ListColumns(.Index - 1).Name), Month(oLo.ListColumns(.Index - 1).Name) + 1, 1), "mmm yyyy")
    End With
End Sub
 
Hierboven proberen van jkpieterse of de macro zelf maken dat het wel kan. Nu kan je er nog niks mee
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan