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

Variable range instellen

  • Onderwerp starter Onderwerp starter Hiru
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Hiru

Gebruiker
Lid geworden
10 jun 2012
Berichten
19
Allen,

Ik ben een hele mooie VBA code op het web tegen gekomen die voor een paar pagina's precies doet wat ik wil. (Zie onder)

Echter wil ik deze code zo aanpassen dat als ik in een twee tal cellen twee waardes neer zet bv A1 en F2000 dat hij deze range om moet zetten naar pdf
maar als ik later alleen A2000 tot F3000 wil dat hij deze range dus pakt. (Data voor range moet dus uit cellen komen, waar ik input in geef)
Is dit mogelijk, zo ja kan iemand mij hier mee helpen.

Daarnaast een tweede vraag weet niet of het mogelijk is, of VBA zelf kan ontdekken tot waar de cellen gevuld zijn en tot daar automatisch een selectie van maakt en dan omzet met pdf.



Code:
sub RDB_Selection_Range_To_PDF2()
    Dim FileName As String

    If ActiveWindow.SelectedSheets.Count > 1 Then
        MsgBox "There is more then one sheet selected," & vbNewLine & _
               "ungroup the sheets and try the macro again"
    Else
        'Call the function with the correct arguments


        'For a fixed range use this line
        'FileName = RDB_Create_PDF(Range("A1:F20000"), "", True, True)

        'For the selection use this line
        'FileName = RDB_Create_PDF(Selection, "", True, True)

        'For a fixed file name and overwrite it each time you run the macro use
        'RDB_Create_PDF(Selection, "C:\Users\Ron\Test\YourPdfFile.pdf", True, True)

        If FileName <> "" Then
            'Ok, you find the PDF where you saved it
            'You can call the mail macro here if you want
        Else
            MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
                   "Microsoft Add-in is not installed" & vbNewLine & _
                   "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
                   "The path to Save the file in arg 2 is not correct" & vbNewLine & _
                   "You didn't want to overwrite the existing PDF if it exist"
        End If
    End If
End Sub


Alvast bedankt.
en fijn weekend.
 
Laatst bewerkt door een moderator:
Code:
ladres = Sheets("Blad1").Cells.SpecialCells(xlCellTypeLastCell).Address
 
Warme bakker alvast bedankt,

Kan je wat meer informatie over deze code geven.
Ik gebruik VBA bijna nooit (eigenlijk nooit) dit is de eerste keer.
en de code die ik hier boven heb staan heb ik van internet en dus nog niet zelf gemaakt.

Kan je me vertellen waar de code moet, wat hij doet etc.

Mijn dank alvast.
 
Code:
With Sheets("Blad1")
    FileName = RDB_Create_PDF(Range(.[A1] & ":" & .Cells.SpecialCells(xlCellTypeLastCell).Address), "", True, True)
End With
Waar dan in A1 de begincel staat en zelf naar de laatsgevulde cel gezocht wordt.

of

Code:
Sheets("Blad1").UsedRange
Waar dan alles op Blad1 geselecteerd wordt.
 
Ik kom er niet uit,

Zou ik even mijn bestand uploaden ??
 
Dat is misschien het handigst.
 
Kan je misschien naar twee sheets kijken:


Het vba probleem:
Uren registratie persoonlijk (Knop ter selectie van alles wat is ingevuld) In cel B en C zitten tot en met 20.000 een verwijzing naar ander blad.
er moet dus alleen gekeken worden waar echt iets in staat en niet ook gekeken worden naar formules in cel.


En mogelijk nog hulp met het volgende.:

A) Uren registratie Algemeen -hier wil ik dat op het moment dat een persoon zijn naam + voornaam in typed (B en C) dat hij dan gaat zoeken naar deze combinatie in het werknemers bestand en hierbij een werknemers code bij vindt.

OF

B) Secure Data Algemeen:
(DATUM: van bepaald persoon met bepaald werknemers nummer)
=ALS(AANTAL.ALS('Uren registratie Algemeen'!$A$2:$A$9;$D$1)<RIJ()-RIJ($A$8)+1;"";INDEX('Uren registratie Algemeen'!$D$2:$D$9;KLEINSTE(ALS('Uren registratie Algemeen'!$A$2:$A$9=$D$1;RIJ('Uren registratie Algemeen'!$A$2:$A$9)-RIJ('Uren registratie Algemeen'!$D$2)+1;"");RIJ()-RIJ($A$8)+1)))

wil ik graag dat er gezocht wordt naar 2 variabelen (matrix volgens mij ?) (naam + voornaam) en dan deze gegeven kopieert, zodat de er geen nummer (Werknemers nummer in dit geval) hoeft worden ingevuld.

Ik maak dit bestand om er zelf van te leren. en ben ook de bovenstaande code stap voor stap aan het ontleden om te kijken of ik hem snap hoe het werkt.

Bestand:
https://dl.dropbox.com/u/71250376/Pers%20Uren%20registratie.rar (755kb)
 
Met jouw link krijg ik de melding dat de pagina niet gevonden kan worden ?
 
Code:
Sub RDB_Selection_Range_To_PDF2()
    Dim FileName As String, i As Integer
    
    If ActiveWindow.SelectedSheets.Count > 1 Then
        MsgBox "There is more then one sheet selected," & vbNewLine & _
               "ungroup the sheets and try the macro again"
    Else
        'Call the function with the correct arguments


        'For a fixed range use this line
    With ActiveSheet
        For i = 20000 To 9 Step -1
            If Application.Evaluate(.Range("B" & i).Formula) <> "" Then
                FileName = RDB_Create_PDF(.Range("A1:F" & i), "", True, True): Exit For
            End If
        Next
    End With
        
        'For the selection use this line
        'FileName = RDB_Create_PDF(Selection, "", True, True)

        'For a fixed file name and overwrite it each time you run the macro use
        'RDB_Create_PDF(Selection, "C:\Users\Ron\Test\YourPdfFile.pdf", True, True)

        If FileName <> "" Then
            'Ok, you find the PDF where you saved it
            'You can call the mail macro here if you want
        Else
            MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
                   "Microsoft Add-in is not installed" & vbNewLine & _
                   "You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
                   "The path to Save the file in arg 2 is not correct" & vbNewLine & _
                   "You didn't want to overwrite the existing PDF if it exist"
        End If
    End If
End Sub
 
Laatst bewerkt:
Warme bakker,

Dit werkt precies hoe ik wil.
Hoe heb je dit allemaal geleerd als ik vragen mag?
 
Héél véél vrije tijd insteken, héél véél boeken lezen, héél véél codes van anderen lezen en proberen te begrijpen, héél véél proberen met vallen en opstaan, héél véél op het internet zoeken.
En dan nog maar het kleinste tipje van de ijsberg beginnen te kennen :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan