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

afronden datalabel

Status
Niet open voor verdere reacties.
Wel een gave tool die Camera, het begint eindelijk een beetje te dagen na uren uitproberen. Ik krijg het alleen niet voor elkaar alles te optimaliseren. Als ik 1 grafiek goed heb zijn de andere opties te uitgerekt en andersom als ik meerdere grafieken per pagina goed heb staan dan is de legenda van 1 grafiek niet meer goed leesbaar. Zou het een goed idee zijn om een tweede tabblad MijnCamer2 te maken voor alleen 1 grafiek of zou het anders kunnen. Ik heb al van alles geprobeerd met een derde shape maar dat werkt allemaal niet goed.
 
in tabblad "MijnCamera" heb je daar een tabel met je 5 grafieken staan en in de 2e kolom kan je via dubbelklik aangeven of je die grafiek wenst af te drukken. (Is eigenlijk in die cel een kleine letter "a" of niets zetten in lettertype webdings).
Druk je daarna op die groene knop dan krijg je een afdrukvoorbeeld.

De 2e tabel, ernaast, geeft je de afmetingen van Camera1 en Camera2 naargelang het aantal geselecteerde grafieken.
Normaal moeten de hoogten voor beide camera's gelijk zijn, maar hier kan je ze toch apart aanpassen (voor 1 grafiek heb ik nu voor hoogte camera2 een aparte waarde ingevuld, voor de rest staat daar een formule met verwijzing naar de 1e camera). Het is de bedoeling dat je voor ieder aantal grafieken, hier die cijfertjes aanpast naar jouw meest ideale layout.
(in de achtergrond worden de niet gewenste grafieken van tabblad "grafieken" verborgen, die camera's geven een realtime weergave, dus dat is de handige truc achter alles)

Dus kies achtereenvolgens voor 1,2,...,5 grafiek(en) en stoei met die 3 (of 4) afmetingen tot je tevreden bent over de layout en probeer dan een volgend aantal grafieken.
Weet wel dat de instelling is om het zaakje te doen passen op 1 pagina.
Dus als je een afmeting te groot neemt, dan wordt het geheel gecomprimeerd zodat het toch past op die pagina.

Welke 3e camera had je nog in gedachten ?
Of welke andere layout ?
 

Bijlagen

  • afronden numberformat v3.7 (1) (3).xlsm
    379,5 KB · Weergaven: 16
Laatst bewerkt:
Ik was al begonnen met een tabel, kansloos.:rolleyes:

Met het instellen paste ik fysiek de breedtes van het camerabeeld aan en vervolgens de getallen in de code. De grootte van de getallen begrijp ik nog niet. Omdat ik door fysiek de breedtes aan paste kon ik niet zien welke getalsgrootte daar bij hoorde. De recorder geeft kleine getallen aan met heel veel decimalen, die werkt dan blijkbaar op een andere manier. (had je al een keer gezegd). Vannacht werd ik wakker en dacht ineens dat het om de drie getallen gaat en dat een derde camera helemaal niet nodig is. De derde camera had ik bedacht voor de legenda van 2 tot 5 grafieken, maar dat is nu niet meer nodig omdat je per grafiek 3 instellingen hebt.

Het printvoorbeeld van de groene knop laat alleen de grafiek(en) zien en niet de legenda. Zie ik iets over het hoofd?

Bedankt voor je engelen geduld
 
alles is in points weergegeven, 28 en een beetje points per cm
https://exceloffthegrid.com/vba-convert-centimeters-inches-pixels-to-points/
Helemaal exact zal het wel nooit zijn in cm, want omdat je zegt dat excel alles zelf moet aanpassen naar exact 1 pagina, zal het in grootte-orde wel ongeveer goed zijn.
Concentreer je dus meer op de verhoudingen tussen de 4 maatvoeringen via "trial and error". (Verander een keer 1 getal naar extreem klein of extreem groot en zie wat er gebeurt.

Even in achteruit denken : Van een A4 uitgaande en dat de gebruikte hoogte van die A4 25 cm voor beide camerastandpunten zou zijn, dan had de hoogte 25*28 = +/- 700 punten moeten zijn. (mijn maatvoering is factor pi te groot ! Toch fantistische samenloop om op dat getal uit te komen.)
Dus misschien voor jouw weekend helemaal leuk te maken, maak in die 2e tabel allemaal maatvoeringen in cm en vertaal die dan in VBA via die functie Application.CentimetersToPoints en kijken of het lukt.
Ik ben ook benieuwd :cool:
Code:
bv.  .Shapes(1).Height = Application.CentimetersToPoints(Arr1(2))

Ik heb eens enkele situaties geprobeerd.
Dus eigenlijk 5 losse pdf's gemaakt en daarna gemerged tot 1 document met 'PDFtk free' (of anders met een merge-tool op internet).
 

Bijlagen

  • afronden numberformat v3.7 (1) (3).xlsm
    456,9 KB · Weergaven: 38
  • Schermafbeelding 2021-11-06 152254.png
    Schermafbeelding 2021-11-06 152254.png
    17,6 KB · Weergaven: 12
  • grafieken5-1.pdf
    1,6 MB · Weergaven: 20
Laatst bewerkt:
Hoi cow18, duidelijke weergave en de omzetting werkt ook goed, alleen ik kan nog steeds de legenda niet zien in het printvoorbeeld. Ik zie alleen de grafieken?
 
eigenaardig ! Geen idee waarom niet.
Kan je eens je laatste versie en van zo'n printvoorbeeld een afdruk in pdf posten ?

Ik had hele kleine kolommen gemaakt onder de 2 camera's vanaf J.
Klik anders eens op dat driehoekje boven de 1 en rechts van de A zodat het voor alle kolommen is en kies een kolombreedte van bv. 1
Kies daarna de kolommen A:H en dubblklik op het randje zodat je een autofit doet.
 
Laatst bewerkt:
ik had zonet hierboven iets aangevuld over kolombreedtes (alhoewel ik ook vrees dat het geen oplossing is)
 
voeg eens die rode lijn toe en check of je camera2 wel degelijk volledig binnen dat bereik valt
Code:
          .Shapes(1).Height = Arr1(2)
          .Shapes(2).Height = Arr1(3)
          .Shapes(1).Width = Arr1(4)
          .Shapes(2).Width = Arr1(5)
          .Shapes(2).Left = .Shapes(1).Left + .Shapes(1).Width + 10
          .PageSetup.PrintArea = .Shapes(1).TopLeftCell.Address & ":" & .Cells(Application.Max(.Shapes(1).BottomRightCell.Row, .Shapes(2).BottomRightCell.Row), .Shapes(2).BottomRightCell.Column).Address
 [COLOR="#FF0000"]         MsgBox .PageSetup.PrintArea
[/COLOR]          .PrintPreview
     End With
End Sub
 
toch wel op het werkblad van de camera's, niet van de grafieken ?
wat krijg je als je deze regel toevoegt onder je vorige rode regel
Code:
          MsgBox .Name & vbLf & "shape 1 : " & .Shapes(1).TopLeftCell.Address & ":" & .Shapes(1).BottomRightCell.Address & vbLf & "shape 2 : " & .Shapes(2).TopLeftCell.Address & ":" & .Shapes(2).BottomRightCell.Address

ik krijg dit, dus 2e camera een kolom verder dan de 1e camera stopt en laatste kolom van camera2 binnen de printarea

In "MijnCamera" wordt er dus niet meer over een aantal grafieken gepraat, maar over 2 camerabeelden, maak die klik !
 

Bijlagen

  • Schermafbeelding 2021-11-07 190912.png
    Schermafbeelding 2021-11-07 190912.png
    5,9 KB · Weergaven: 16
Laatst bewerkt:
Ik heb alles maar een keer afgesloten en het bestand van #144 opnieuw geopend en nu werkt het wel???

Bedankt, ga nu verder met fine tunen.
 
oef.
Eeuwig probleem als er niet met dezelfde (laatste) versie gewerkt wordt.
Dan is het appelen met peren vergelijken, ik heb liefst de peren.
 
Ja ik ook, maar ik weet bijna 100% zeker dat ik met de laatste versie gewerkt heb.

Ik kom er nu ook achter dat het ombouwen van het programma voor een andere applicatie een lastige klus gaat worden. Wat zou in deze de beste aanpak zijn? Ik kan met een Wizard of iets dergelijks gaan werken of met een soort invulformulier.
De diversie opties kunnen verschillen in het aantal grafieken, verschillende tabelkopaanduidingen en verschillende grafiek titels. Het lastigst zijn misschien de userformulieren. Op zich kan ik die met de hand aanpassen of met bijvoorbeeld een maximaal aantal tekstboxen en dat als een standaardformulier opslaan en in vba aanpassen naar gelang het aantal benodigde grafieken. Leuk begin van de week :D
 
Wat moet je precies overnemen ?
Dat kan toch maar enkel de tabel in "data" en die groene cellen (LSL-USL, ...) van "Admin" zijn.
Is dat dan csv, txt of xlsx ?
Doe een keer een voorbeeldje ?
Zie PM.
 
Laatst bewerkt:
@cow18
Ik heb je 8/11 een pm gestuurd maar nog geen reactie. Normaal reageer je praktisch gelijktijdig ik het verstuurd heb, dus waarschijnlijk is er iets misgegaan.

Het invoerblad Data is eenvoudig uit te breiden. Wat wel een probleem is dat op het moment ik voor Excel onlogische kopbenamingen gebruik het programma niet meer werkt. In de praktijk is er meestal geen logische opvolging zoals hier in het voorbeeld. Meestal gaat het om elementaanduidingen.

Voor het aantal grafieken zou dan een default bestand kunnen volstaan met 1 grafiek die vervolgens met een macro gekopieerd wordt nagelang het aantal meetkolommen in het tabblad Data. Hier loop ik ook vast als ik niet handmatig de namen van de grafiek aanpas.

Hetzelfde geldt ook voor het aantal textboxen. Dat aantal zou dan ook met een vba-programma gekopieerd kunnen worden nagelang het aantal meetkolommen. De posities van de textboxen kunnen met een formule bepaald worden.

In het programma zelf kunnen de for next loopen aangepast worden met een variabele voor het aantal meetkolommen. etc.

Ik ben bij het eerste punt begonnen maar weet niet of dit de goeie manier is.
 
@cow18

In tabel TBL_Administratie staan formules in de kolommen H, I, J en K die verwijzingen hebben naar de TBL_Metingen zoals bijvoorbeeld: =MIN(INDIRECT("TBL_Metingen[Meetpunt_" &[@nr] &"]")). De HeaderRow bestaat in dit voorbeeld uit "Meetpunt_" met een volgnummer. Hoe krijg ik het dan voor elkaar als de HeaderRow uit willekeurige aanduidingen bestaat?
 
Ik heb het opgelost met een regel boven de tabel waar nu alle aanduidingen in staan. De HeaderRow wordt vervolgens verborgen.
 
Ik hoop dat iemand hier na kan kijken, na maanden ploeteren is het me nog niet gelukt het programma goed te laten werken.

Het is nu een variabel programma met maximaal 27 grafieken. Door in Admin kolom 2 aan te vullen of cellen te verwijderen wordt de userform usVerwerking mbv van de module: knoppen verbergen aangepast. Dit lijkt wel te werken.

Wat nog niet goed werkt, of wat niet meer werkt is: enable data points. Dit kon door met rechtermuisknop een punt te selecteren. In de grafiek werd dat punt zwart en de lijnen er naar toe ook. Ook werd de Forecolor van Enabled Aantal in de tabel naast de grafiek roze gekleurd.
Nu gebeurt er niks meer. Wat opvalt is dat Arr(3) in de klasse module de grafieknaam opgeeft van de grafiek onder de desbetreffende grafiek.

Het benoemen van de grafiektitels met een module werkt ook niet goed. Het gaat dan om de sub titel_grf in de module Weergave_grfn.

Alvast bedankt voor degene die de moeite neemt om de codes door te spitten
 

Bijlagen

  • Afronden numberformat 3.13.xlsm
    724,9 KB · Weergaven: 22
Het benoemen van de grafiek titels is gelukt:
Code:
Sub Grafieken_titels()
     Application.ScreenUpdating = False

     MijnGrafieken = [transpose(TBL_TLC)]                       'tabel met grafieken in rijvolgorde

     For i = 1 To UBound(MijnGrafieken)
            t = Sheets("Admin").ListObjects("TBL_Administratie").DataBodyRange(i, 2)
          With Sheets("grafieken").ChartObjects(MijnGrafieken(i))
               With .Chart
'                    .ChartTitle.Font.Size = 8
                     .ChartTitle.Text = "Titels " & t
               End With
            End With
     Next
     Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan