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

Afkorting landcode bij landkeuze en opslag.

Status
Niet open voor verdere reacties.

sirpatje

Gebruiker
Lid geworden
21 jul 2020
Berichten
60
Op blad1 in cel G5 (tot G24) kan je uit een dropdownlijst die op blad 2 (E1 tot E213)staat een land kiezen. Het is de bedoeling als iemand een land kiest er op blad 1 in cel G5 (tot G24) de afkorting komt van dit land die op blad 2 staat in de cellen (F1 tot F213).
Alsook had ik graag het document willen opslaan als een pdf met als titel de vakken B18 en A1 via een knop onderaan het document.


Groetjes
 

Bijlagen

  • bevuilende werken digitaal.xlsx
    18,8 KB · Weergaven: 22
Zorg eerst in je gegevensvalidatie dat je andere gegevens mag invoeren dan alleen de dropdownlijst. (het vinkje bij error alert uitzetten)

Voor je eerste vraag kun je deze achter je werkblad1 plaatsen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
 If Target.Column = 7 And Target.Count = 1 Then
  c00 = Application.Match(Target, Sheets(2).Range("E1:E213"), 0)
  Target = Sheets(2).Cells(c00, 6).Value
 End If
Application.EnableEvents = True
End Sub


voor opslaan als pdf deze achter een module. Wel even je pad aanpassen.
Code:
Sub j()
With Sheets(1)
 .ExportAsFixedFormat xlTypePDF, "[COLOR="#FF0000"]C:\Users\xxxx\Downloads\[/COLOR]" & .Range("B18") & " " & .Range("A1")
End With
End Sub
 
Laatst bewerkt:
Zorg eerst in je gegevensvalidatie dat je andere gegevens mag invoeren dan alleen de dropdownlijst. (het vinkje bij error alert uitzetten)

Juist niet!
Dan krijg je bij foutieve ingaven een error op je code.
 
Ik kreeg dat niet tijdens het testen. De afkorting is anders de de ingegeven lijst dus t vinkje moet uit
 
Het bestand kan ik niet testen met de validatie (oudere versie, de validatie is dan verdwenen).

Zoals het is omschreven staat er dat je een land kiest uit kolom E, dus dat zal de validatielijst dan moeten zijn, er de afkorting uit kolom F voor terugkomt.

Als je gaat typen in een validatielijst en je drukt op Enter zal je code in de fout gaan doordat je geen foutafhandeling hebt op de functie Match.



Nb. nu begrijp ik je verhaal, doordat je de waarde terugkrijgt,....natuurlijk.
Dan zou ik wel een foutafhandeling inbouwen met....
Code:
 If isnumeric(C00) then
 
Laatst bewerkt:
Ik heb dat weggelaten omdat ieder land een afkorting heeft. Dus zal altijd numeric zijn
 
Typ er maar iets in wat niet overeenkomt, want dat kan nu ook. ;)
 
Ik heb het even getest.
Het gaat gewoon goed met het vinkje aan en met de foutafhandeling.
Je kan dan geen andere gegevens invoeren wat altijd beter is.
 
Toch wel? Apart eigenlijk omdat je toch de inhoud verandert naar een afkorting die niet in de lijst staat.
 
Het zal wel komen doordat je er niet in typt.
Wil je de afkorting in de formulebalk aanpassen, komt netjes de foutmelding d.m.v. het vinkje.
 
Beter eigenlijk!
 
Beste allen,

Bedankt voor de snelle hulp. De lijst werkt perfect. En dan nu de maar. Dit invulformulier zal door meerdere collega's gebruikt worden (meer dan 20 mensen). Ik zie het niet zitten om bij iedereen hun pad naar waar het document moet opslaan aan te passen. Enig idee hoe ik dat kan verhelpen?

Mvg
 
Userprofile staat vast, evenals documents lijkt me.
Dat zal bij iedereen gelijk zijn of het nu schijf C of D of G is.
Deze maakt een mapje (Lijst) aan als deze nog niet bestaat.
De naam van het bestand wordt in dit geval 'naam'.

Wijzigen naar eigen dunken.

Code:
Sub hsv()
Dim s0 As String
 s0 = Environ("userprofile") & "\documents\"
  If Dir(s0 & "Lijst", 16) = "" Then MkDir s0 & "Lijst"
    ThisWorkbook.SaveAs s0 & "Lijst\naam.xlsb", 50
End Sub
 
Is dan toch gewoon
Code:
Thisworkbook.path

Gaat het om het als pdf op te slaan?
 
Klopt inderdaad, haal ook wat door elkaar.
 
Maakt je alleen maar beter.
 
Oeps dit gaat hier mijn petje te boven, ik wil opslaan als pdf met als titel (.Range("B18") & " " & .Range("A1")
 
Zou het met deze lukken?

Private Sub CommandButton1_Click()

Dim datum As String
Dim shift As String
datum = ActiveSheet.Range("B18").Text
shift = ActiveSheet.Range("A1").Text
Dim path As Variant
path = Application.GetSaveAsFilename(InitialFileName:=datum & " " & shift, filefilter:="PDF, *.pdf", Title:="Opslaan als PDF")
If path = "Onwaar" Then
Exit Sub
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path, quality:=xlQualityMinimum, includedocproperties:=True, _
ignoreprintareas:=False, openafterpublish:=True
End If

End Sub
 
Vrienden,

Ik heb het bestandje met hoever ik nu zit bijgevoegd.
Ik krijg de knop om op te slaan niet aan de praat.
Doe ik iets verkeerds in visual basic?
 

Bijlagen

  • bevuilende werken digitaal (version 1) - kopie.xlsm
    96,8 KB · Weergaven: 17
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan