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

vervolg op lastrow

Status
Niet open voor verdere reacties.

knabbie

Gebruiker
Lid geworden
20 feb 2009
Berichten
45
ik dacht eruit te wezen met de volgende code

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "blad1" Or ActiveSheet.Name = "blad2" Or ActiveSheet.Name = "blad3" Or ActiveSheet.Name = "blad4" Then

Dim WS As Worksheet
Set WS = Sheets("lg")
    On Error Resume Next
    If WS.[A21].Value <> "" Then
        WS.Rows(2).EntireRow.Delete Shift:=xlUp
    End If
    WS.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 5).Value = _
        Array([C58].Value, [C57].Value, [C3].Value, [C9].Value, [F9].Value)
End If

het stukje
Code:
 Dim WS As Worksheet
Set WS = Sheets("lg")
    On Error Resume Next
    If WS.[A21].Value <> "" Then
        WS.Rows(2).EntireRow.Delete Shift:=xlUp
    End If
    WS.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 5).Value = _
        Array([C58].Value, [C57].Value, [C3].Value, [C9].Value, [F9].Value)
werkt perfect :thumb: in een gewone module, echter als ik het gebruik in Thisworkbook bij Private Sub Workbook_BeforePrint word regel 2 op het werkblad lg niet verwijderd

wat doe ik fout of kan dit gewoon niet bij before print
 
Wat is het actieve tabblad op het moment van printen?
 
werkblad 1, 2, 3 of 4

het gekke is als ik de printknop afdrukken gebruik in de balk bovenin dan werkt het wel echter als ik de aangemaakte knop op het werkblad gebruik werkt het niet.

in een module die aangestuurd word door een knop zit dus een printopdracht die perfect werkt.

Het lijkt erop dat het komt doordat de aangemaakte knop op dewerkbalden 1,2,3 of 4 gebruikt word.
 
Inderdaad, een knop met deze code erachter in een gewone module, zal werken.

Een BeforePrint opdracht is niet bestemd om gebruikt te worden met een knop. Het wordt vanzelf afgevuurd, vanaf dat er een opdracht tot printen gegeven wordt.

Wigi
 
Inderdaad, een knop met deze code erachter in een gewone module, zal werken.

Een BeforePrint opdracht is niet bestemd om gebruikt te worden met een knop. Het wordt vanzelf afgevuurd, vanaf dat er een opdracht tot printen gegeven wordt.

Wigi

Het leek me handig om het bij before print neer te zetten anders moet ik de gebruikte code 4 keer plaatsen in 4 verschillende macro's in 1 en dezelfde werkmap.

Zoals ik la zei alles werkt echter het deleten van regel 2 op werkblad lg wil niet via het stukje before print het wegschrijven van de verschillende waarden doet hij wel, 't is niet anders jammer.

Thanks Wigi
 
Ik krijg geen foutmelding enkel rij 2 op werkblad lg word niet gedelete,

de gehel routine word gewoon doorlopen, dat is het rare .
 
ik heb het voorlopig zo opgelost

in elk van de 4 modules heb ik dit stukje neergezet

Code:
Dim WS As Worksheet
Set WS = Sheets("lg")
    On Error Resume Next
    If WS.[A21].Value <> "" Then
        WS.Rows(2).EntireRow.Delete Shift:=xlUp
    End If

Bij before print
Code:
WS.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 5).Value = _
        Array([C58].Value, [C57].Value, [C3].Value, [C9].Value, [F9].Value)

Handig is het niet maar werkt wel.
 
Ik krijg geen foutmelding enkel rij 2 op werkblad lg word niet gedelete,

de gehel routine word gewoon doorlopen, dat is het rare .

Zet eens in een module:

Code:
Sub uitvoeren()
    err.Clear
End Sub

en voer die eenmalig uit.

Zet ook "on error resume next" in commentaar en doe nog eens een printopdracht (volledige code terug in BeforePrint dus).

Wigi
 
Zet eens in een module:

Code:
Sub uitvoeren()
    err.Clear
End Sub

en voer die eenmalig uit.

Zet ook "on error resume next" in commentaar en doe nog eens een printopdracht (volledige code terug in BeforePrint dus).

Wigi

Helaas Wigi

het blijft het zelfde resultaat, regel 2 word niet verwijderd en zet alles gewoon op een nieuwe regel na ( WS.[A21].Value) rij 21 dus,
ik ga er morgen nog eens een blik op werpen moet nu helaas weg.

In ieder geval bedankt voor de genomen moeite
 
Helaas Wigi

het blijft het zelfde resultaat, regel 2 word niet verwijderd en zet alles gewoon op een nieuwe regel na ( WS.[A21].Value) rij 21 dus,
ik ga er morgen nog eens een blik op werpen moet nu helaas weg.

In ieder geval bedankt voor de genomen moeite

Post nog snel het bestand als je kunt, anders zal het voor morgen zijn.
 
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
  If ActiveSheet.Name <> "Ig" Then
    With sheets("Ig")
     If .[A21].Value <> "" Then .Rows(2).EntireRow.Delete 
     .Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 5).Value = Array(.[C58], .[C57], .[C3], .[C9], .[F9])
    end with
  End If
End Sub
 
Laatst bewerkt:
Het probleem is bij mij nog steeds aanwezig,heeft iemand intussen andere oplossingen ervaringen?
 
Wie weet komt een van ons er ooit achter waarom het niet wil werken,

ik ben er ook nog steeds niet achter waarom niet.
 
Het helpt als je suggesties exact overneemt. (let op de puntjes in de regel met Array)

Code:
Private Sub tst()
  If InStr("Blad1Blad2Blad3Blad4", ActiveSheet.Name) > 0 Then
    With Sheets("Ig")
      If .[A15].Value <> "" Then .Rows(2).EntireRow.Delete
      .Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(1, 5).Value = Array(.[C58], .[C57], .[C3], .[C9], .[F9])
    End With
  End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan