formulier frame teksten niet geprint

Status
Niet open voor verdere reacties.

Doohan

Gebruiker
Lid geworden
20 mrt 2012
Berichten
377
Geachte Helper,

Ik heb een prachtig formulier zie afbeeldingKnipsel.jpg als ik echter de button Print Invul Scherm klik. zou deze dmv
Code:
Private Sub butPrintInterface_Click()

    Me.PrintForm
    
End Sub
het formulier moeten printen. Echter de Frame teksten worden niet geprint. Waar kan dit aan liggen? Ik heb dit op meerdere formulieren.

groetjes Martin
 
Zo makkelijk is het niet, post eens een vbtje, ik heb hier stukjes code in mijn excel kastje liggen die exact doen wat je vraagt.
Maar een van de vragen is zowiezo , hoe moet het resultaat eruitzien, exact uw userform of zonder kleurtjes, kwestie van geen inkt te verspillen??
Dus graag wat meer uitleg.
Een leeg bestand als vbtje is genoeg maar wel met de userform en wat uitleg over het gewenste resultaat.
 
beste gast0660,

omdat ik mijn bestand niet meer onder de 100kb krijg stuur ik je de frm export.
De bedoeling is simpel ik wil mijn userform geprint hebben en daarbij moeten de teksten die in de frame rand staan ook geprint worden. Met de code uit#1 krijg ik dus niet zoals op de afbeelding in #1
de teksten in de frame rand te zien .
 
Beste, als mij niemand mij voor is dan heb je morgen waarschijlijk een oplossing .
Tip: Als je een vbtje post , post het als xlsb, dan heb je wat meer speelruimte (1000kb)
 
Even los van het feit dat je alle code kan reduceren tot een paar regels en dat het bestand niet werkt. Welk nut heeft het om een Userform te printen?
 
Daar heb je gelijk in. Maar iemand wil dit. Dus ik maak. thx voor de tip. Als het niet op te lossen is kan ik daar wel mee leven. Het was iets wat me opviel, dat de frame teksten niet geprint worden.
Dus dat vond ik een vraagje waard.
 
Terzijde:

ipv
Code:
With S3DIN2605Comobox1
        .AddItem "DN250 st"
        .AddItem "DN250 rvs"
        .AddItem "DN200 st"
        .AddItem "DN200 rvs"
        .AddItem "DN150 st"
        .AddItem "DN150 rvs"
        .AddItem "DN125 st"
        .AddItem "DN125 rvs"
        .AddItem "DN100 st"
        .AddItem "DN100 rvs"
        .AddItem "DN80 st"
        .AddItem "DN80 rvs"
        .AddItem "DN65 st"
        .AddItem "DN65 rvs"
        .AddItem "DN50 st"
        .AddItem "DN50 rvs"
      End With
    
   With S3DIN2605Comobox2
        .AddItem "DN250 st"
        .AddItem "DN250 rvs"
        .AddItem "DN200 st"
        .AddItem "DN200 rvs"
        .AddItem "DN150 st"
        .AddItem "DN150 rvs"
        .AddItem "DN125 st"
        .AddItem "DN125 rvs"
        .AddItem "DN100 st"
        .AddItem "DN100 rvs"
        .AddItem "DN80 st"
        .AddItem "DN80 rvs"
        .AddItem "DN65 st"
        .AddItem "DN65 rvs"
        .AddItem "DN50 st"
        .AddItem "DN50 rvs"
   End With

volstaat (en is veel sneller):

Code:
   S3DIN2605Comobox1List=split("DN250 st_DN250 rvs_DN200 st_DN200 rvs_DN150 st_DN150 rvs_DN125 st_DN125 rvs_DN100 st_DN100 rvs_DN80 st_DN80 rvs_DN65 st_DN65 rvs_DN50 st_DN50 rvs","_")
   S3DIN2605Comobox2.list=S3DIN2605Comobox1.list

En dit geldt voor alle overige 300 comboboxen met dezelfde inhoud.
 
dank je snb,
Ik weet het, na 1 beginners cursus en heel wat hulp van jullie ben ik toch al ver gekomen. Het is mijn aller1ste projectje. de volgende ga ik beter mijn best doen:)
bij deze neem ik direct jouw code over.
 
@snb even terzijde nadat ik dat stukje heb vervangen voor jouw code krijg ik fout 424 object vereist. ik weet dat het niet in dit lijntje hoort. maar nu we toch bezig zijn.
gr.Martin
 
Sorry @SNB ik kon al niet geloven dat jouw code niet zou werken. Ik was zelf weer ff aan het prutsen. Hij doet het perfect.
Blijft nog steeds vraag#1 over
 
nog een terzijde,

als je in userform initialize zo vult:

Code:
  BalgCompCombobox1.List = split("DN50 DN65 DN80 DN100 DN125 DN150 DN200 DN250")

Dan is dit voldoende in de change-gebeurtenis

Code:
Private Sub xBalgCompCombobox1_Change()
    Worksheets("Drukverlies Koelwater Systeem").Range("x36") = BalgCompCombobox1.ListIndex + 1
End Sub

Oorspronkelijke vraag:

Selecteer het frame in de ontwerpmodus, rechtsklik , optie 'bring to front'. Dat biedt wellicht soulaas.
 
Laatst bewerkt:
Beste helpers bedankt,

Helaas werkt de code van gast0660 niet ik wilde het toch even proberen. Maar na de vraag van Vena over het nut ben ik tot de conclusie gekomen dat het eigenlijk zinloos is.
dus ik stop met het formulier printen.
Echter dank voor de moeite gast0660.
@SNB Ik ben druk bezig met het verwerken van je commentaar. Dank hiervoor.
Ik ga dit lijntje sluiten. ben erg geholpen
 
Bij mij werkt de print, na de instelling 'bring to front' vlekkelings.
 
Je kunt de initialize procedure tegugbrengen tot:
Code:
Private Sub UserForm_Initialize()
  sn = Sheets("koelwaterdata").Cells(1).CurrentRegion
  For j = 1 To UBound(sn)
    If InStr(c01 & "_", "_" & sn(j, 1) & "_") = 0 Then c01 = c01 & "_" & sn(j, 1)
  Next
  keus1.List = Split(Mid(c01, 2), "_")
        
  KWflowcombobox.List = Split("m3/hr m3/min m3/s ltr/hr ltr/min ltr/s")
  
  With DN2458combobox1
    .List = Sheets("Din2458Pipe").Range("b3:b100").SpecialCells(2).Value
       DN2458combobox2.List = .List
        DN2458combobox3.List = .List
        xDN2458combobox1.List = .List
        xDN2458combobox2.List = .List
        S3DIN2605Comobox1 = .List
        S3DIN2605Comobox2 = .List
        S3DIN2605Comobox3 = .List
        xS3DIN2605Comobox1 = .List
        xS3DIN2605Comobox2 = .List
        S2DIN2605Comobox1 = .List
        S2DIN2605Comobox2 = .List
        xS2DIN2605Comobox1 = .List
        xS2DIN2605Comobox2 = .List
        S2DIN2605Comobox3 = .List
    End With
      
   With redGRKLcombox1
        .List = Sheets("redzeta").Cells(3, 2).Resize(100).SpecialCells(2).Value
         redGRKLcombox2.List = .List
         xredGRKLcombox1.List
         xredGRKLcombox2.List
         redGRKLcombox3.List = .List
         redKLGRcombox1.List = .List
         redKLGRcombox2.List = .List
         xredKLGRcombox1.List = .List
         xredKLGRcombox2.List = .List
         redKLGRcombox3.List = .List
   End With
   
   With DN2615ComboBox1
        .List = Split("DN250/250 DN200/200 DN150/150 DN125/125 DN100/100 DN80/80 DN65/65 DN50/50")
        DN2615ComboBox2.List = .List
        DN2615ComboBox3.List = .List
        DN2615ComboBox3.List = .List
        DN2615ComboBox4.List = .List
    End With
    
    With BalgCompCombobox1
        .List = Split("DN250 DN200 DN150 DN125 DN100 DN80 DN65 DN50")
        BalgCompCombobox2.List = .List
        xBalgCompCombobox1.List = .List
        xBalgCompCombobox2.List = .List
        ButterflyComboBox1.List = .List
        ButterflyComboBox2.List = .List
        xButterflyComboBox1.List = .List
        xButterflyComboBox2.List = .List
        CheckValveComboBox1.List = .List
        CheckValveComboBox2.List = .List
    End With
End Sub

Als je de comboboxen handiger namen zou geven *(bijv A_combo1, A_combo2, B_combo1, B_combo2, C_combo1 D_combo1) kun je de code terugbrengen tot
Code:
Private Sub UserForm_Initialize()
  sn = Sheets("koelwaterdata").Cells(1).CurrentRegion
  For j = 1 To UBound(sn)
    If InStr(c01 & "_", "_" & sn(j, 1) & "_") = 0 Then c01 = c01 & "_" & sn(j, 1)
  Next
  keus1.List = Split(Mid(c01, 2), "_")
        
  KWflowcombobox.List = Split("m3/hr m3/min m3/s ltr/hr ltr/min ltr/s")
  
  sp=array(Sheets("Din2458Pipe").Range("b3:b100").SpecialCells(2).Value,Sheets("redzeta").Cells(3, 2).Resize(100).SpecialCells(2).Value,Split("DN250/250 DN200/200 DN150/150 DN125/125 DN100/100 DN80/80 DN65/65 DN50/50"),Split("DN250 DN200 DN150 DN125 DN100 DN80 DN65 DN50"))
  
  for each it in controls
    if typename(it)="ComboBox" then it.list=sp(asc(left(it.name))-65)
  next
End Sub
 
Laatst bewerkt:
Dank je SNB,

Ik heb mijn code al verandert zoals je in#14 aangaf. De code in#18 word over enkele jaren pas begrijpelijk voor me. Dus ik doe het stap voor stap. Maar ik ga mijn benamingen voortaan beter kiezen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan