Juokseva numero "BeforePrint(Cancel As Boolean)"

Excellamatöör

Tehdäämpä tästä oma viestiketju

Jos minulla on arvo 1000034 solussa L4. Haluan että arvo kasvaa joka tulosteeseen yhdellä eli 1000035, 1000036, 1000037 jne ns juokseva sarjanumero. Perus excel käyttäjänä en osannut tehdä tätä.

Eli ohjelma lukee ensin arvon solusta L4 kun x =Range("L4") sen jälkeen kun on tulostettu, niin x=x 1 ja palautetaan arvo soluun L4 Range("L4") =x.

Toimiikohan tämä jos otan esim 6 kpl tulosteita kerralla vai pitääkö ottaa 6 x 1kpl tulosteita.


Sub Auto_Open()
x = Range("L4")
End Sub


Public x As Integer
Public y As Integer
Private Sub Workbook_BeforePrint(Cancel As Boolean)
y = 0
x = Range("l4")
If y Mod 0 Then
x = x 1
End If
y = 0
Range("l4") = x
'Viedään arvo soluu L4
End Sub

2

260

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Untamo.L.La

      "If y Mod 0 Then"

      Meinasit nollalla jaella?

    • Tämmöinen

      Tulostus on tehtävä yksi kerrallaan, koska tulosteiden lukumäärää ei määrätä Excelissä. Tämä (tulee ThisWorkbook-moduliin) riittää kasvattamaan laskuria :
                                                                                                     
      Private Sub Workbook_BeforePrint(Cancel As Boolean)                                      Range("L4") = Range("L4")   1                                                                End Sub       
                                                                                                     
                                                                                                     
      Seuraava makro tulostaa sivun halutun monta kertaa ja kasvattaa laskuria joka välissä. Jos laskuri on tässä, BeforePrint-laskuri pitää jättää pois.
                                                                                              
      Sub Printtaa()                                                                                           lkm = Range("A1")                                                                                   For i = 1 To lkm                                                                                         Range("L4") = Range("L4")   1                                                                   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True                 Next i                                                                                                End Sub

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Martinan firma haastettiin käräjille

      Seiska: Martinan firma haastettiin käräjille, taustalla outo rahasotku.
      Kotimaiset julkkisjuorut
      300
      2225
    2. Putin ei suostu tulitaukoon nyt kun Kurskin taistelut ovat kesken

      ja venäjä on viimein päässyt niskan päälle, suuren ylivoiman turvin. Ukraina ilmeisesti suorittaakin taktista vetäytymi
      Maailman menoa
      220
      2122
    3. Miksi haluat satuttaa

      Sillä tiedolla ettet välittäisi minusta vaikka se ei ole totta. Silti tiedän että rakastat minua edelleen. Niinkuin sano
      Ikävä
      51
      1337
    4. Toivotko vielä et

      Päätyisimme yhteen?
      Ikävä
      87
      1251
    5. Oletko kaivattusi

      Mielestä hyvä sängyssä🤔
      Ikävä
      101
      1203
    6. Miksi ette halua kaivattuanne

      Yksi syy tai tekosyy.
      Ikävä
      82
      1201
    7. Millainen ihminen linda brandt-ahde on

      Hän on nyt julkisuudessa varsin eriskummallisen asian tiimoilta
      Lappeenranta
      43
      1195
    8. Martina makkarankuori päällä

      Voi hyvää päivää minkä asun oli valinnut Emma gaalaan, ei jäänyt kenellekään epäselväksi, minkälaiset rinnat on naikkose
      Kotimaiset julkkisjuorut
      162
      1147
    9. Ketä sinä

      Odotat oikeasti. Miksen sulle totta olla saa.
      Ikävä
      117
      1070
    10. Tykkäätkö kuinka

      Paljon kaivatustasi?
      Ikävä
      62
      973
    Aihe