/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Excel - udskriftsproblem - Findes der en E~
Fra : TM


Dato : 12-06-01 06:47

Jeg bruger Excel fra Office2000.
Jeg har er 1 kolonne(A) med Navne og derefter har jeg 52 kolonner med hver
sit ugenr. Jeg har så låst vinduet så at når jeg scroller til højre bliver
kolonne(A) stående. Mit problem består i at når jeg vil lave en udskrift
kommer alle 52 uger ud. Kan det lade sig gøre at hvis jeg har scrollet frem
til f.eks kolonne(P) så udskriver den kun Kolonne(A) og så kolonne(P) og 25
kolonner frem. Eller kan man lave en række hvor man indtaster "1" eller "0"
og få den til kun at udskriv de kolonner hvor der står "1". Eller kan man få
den til kun at udskrive det som er vist på skærmen.

Med venlig hilsen.
Thomas.




 
 
Harald Staff (12-06-2001)
Kommentar
Fra : Harald Staff


Dato : 12-06-01 09:30

Thomas

Plasser denne i ark-modulen. Den resetter når du klikker en celle:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim L As Long
If Columns(2).Hidden = True Or Columns(256).Hidden = True Then
Application.ScreenUpdating = False
For L = 2 To 256
ActiveSheet.Columns(L).Hidden = False
Next
Application.ScreenUpdating = True
End If
End Sub

Plasser denne i ThisWorkbookmodulen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim L As Long
If ActiveSheet.Index <> 1 Then Exit Sub 'Kun ark1
Application.ScreenUpdating = False
For L = 2 To ActiveWindow.ScrollColumn
ActiveSheet.Columns(L).Hidden = True
Next
For L = ActiveWindow.ScrollColumn To ActiveWindow.ScrollColumn + 24
ActiveSheet.Columns(L).Hidden = False
Next
For L = ActiveWindow.ScrollColumn + 25 To 256
ActiveSheet.Columns(L).Hidden = True
Next
Application.ScreenUpdating = True
End Sub

HTH. Beste hilsen Harald

TM <tm@navalyard.dk> skrev i news:9g4aiq$jra$1@news.inet.tele.dk...
> Jeg bruger Excel fra Office2000.
> Jeg har er 1 kolonne(A) med Navne og derefter har jeg 52 kolonner med hver
> sit ugenr. Jeg har så låst vinduet så at når jeg scroller til højre bliver
> kolonne(A) stående. Mit problem består i at når jeg vil lave en udskrift
> kommer alle 52 uger ud. Kan det lade sig gøre at hvis jeg har scrollet
frem
> til f.eks kolonne(P) så udskriver den kun Kolonne(A) og så kolonne(P) og
25
> kolonner frem. Eller kan man lave en række hvor man indtaster "1" eller
"0"
> og få den til kun at udskriv de kolonner hvor der står "1". Eller kan man

> den til kun at udskrive det som er vist på skærmen.
>
> Med venlig hilsen.
> Thomas.
>
>
>



TM (12-06-2001)
Kommentar
Fra : TM


Dato : 12-06-01 12:27

> Plasser denne i ark-modulen. Den resetter når du klikker en celle:
>
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> Dim L As Long
> If Columns(2).Hidden = True Or Columns(256).Hidden = True Then
> Application.ScreenUpdating = False
> For L = 2 To 256
> ActiveSheet.Columns(L).Hidden = False
> Next
> Application.ScreenUpdating = True
> End If
> End Sub
>
> Plasser denne i ThisWorkbookmodulen:
>
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
> Dim L As Long
> If ActiveSheet.Index <> 1 Then Exit Sub 'Kun ark1
> Application.ScreenUpdating = False
> For L = 2 To ActiveWindow.ScrollColumn
> ActiveSheet.Columns(L).Hidden = True
> Next
> For L = ActiveWindow.ScrollColumn To ActiveWindow.ScrollColumn + 24
> ActiveSheet.Columns(L).Hidden = False
> Next
> For L = ActiveWindow.ScrollColumn + 25 To 256
> ActiveSheet.Columns(L).Hidden = True
> Next
> Application.ScreenUpdating = True
> End Sub
>
Mange tak Harald. Det vil jeg prøve.
Thomas.



Leo Heuser (12-06-2001)
Kommentar
Fra : Leo Heuser


Dato : 12-06-01 13:02

Thomas

Her er en løsning, der udskriver de kolonner, der har et 1-tal stående
i første række. Et 1-tal i A1, D1, G1 og J1 vil udskrive kolonnerne
A, D, G og J. Du behøver ikke sætte 0 i de kolonner, der ikke skal
udskrives.
Løsningen slår den almindelige udskriftsrutine fra og udskriver ét
eksemplar af det valgte udskriftområde. Skal du fx have tre udskrifter,
kan du klikke 3 gange på udskriftsknappen.

Som ved Haralds løsning skal koden indsættes i ThisWorkbook.
Gå til VBA-editoren med <Alt><F11> og dobbeltklik på ThisWorkbook
i øverste venstre vindue. Kopier og indsæt nedenstående rutine og
skriv selv de aktuelle værdier for SheetName og CheckRow.

Med venlig hilsen
LeoH

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'leo.heuser@get2net.dk, 12. juni 2001
Dim SheetName As String
Dim CheckRow As Long
Dim Cell As Range

SheetName = "Ark1"
CheckRow = 1

On Error GoTo Finito
With ActiveSheet
If .Name = SheetName Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
.Columns.Hidden = True
For Each Cell In Rows(CheckRow).Cells
If Cell.Value = 1 Then
Cell.EntireColumn.Hidden = False
End If
Next Cell
.PrintOut
.Columns.Hidden = False
Cancel = True
End If
End With

Finito:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Set Cell = Nothing
End Sub

----------------------------


"TM" <tm@navalyard.dk> skrev i en meddelelse
news:9g4aiq$jra$1@news.inet.tele.dk...
> Jeg bruger Excel fra Office2000.
> Jeg har er 1 kolonne(A) med Navne og derefter har jeg 52 kolonner med hver
> sit ugenr. Jeg har så låst vinduet så at når jeg scroller til højre bliver
> kolonne(A) stående. Mit problem består i at når jeg vil lave en udskrift
> kommer alle 52 uger ud. Kan det lade sig gøre at hvis jeg har scrollet
frem
> til f.eks kolonne(P) så udskriver den kun Kolonne(A) og så kolonne(P) og
25
> kolonner frem. Eller kan man lave en række hvor man indtaster "1" eller
"0"
> og få den til kun at udskriv de kolonner hvor der står "1". Eller kan man

> den til kun at udskrive det som er vist på skærmen.
>
> Med venlig hilsen.
> Thomas.
>
>
>







TM (12-06-2001)
Kommentar
Fra : TM


Dato : 12-06-01 13:27

> Her er en løsning, der udskriver de kolonner, der har et 1-tal stående
> i første række. Et 1-tal i A1, D1, G1 og J1 vil udskrive kolonnerne
> A, D, G og J. Du behøver ikke sætte 0 i de kolonner, der ikke skal
> udskrives.
> Løsningen slår den almindelige udskriftsrutine fra og udskriver ét
> eksemplar af det valgte udskriftområde. Skal du fx have tre udskrifter,
> kan du klikke 3 gange på udskriftsknappen.
>
> Som ved Haralds løsning skal koden indsættes i ThisWorkbook.
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
> 'leo.heuser@get2net.dk, 12. juni 2001
> Dim SheetName As String
> Dim CheckRow As Long
> Dim Cell As Range
>
> SheetName = "Ark1"
> CheckRow = 1
>
> On Error GoTo Finito
> With ActiveSheet
> If .Name = SheetName Then
> With Application
> .ScreenUpdating = False
> .EnableEvents = False
> End With
> .Columns.Hidden = True
> For Each Cell In Rows(CheckRow).Cells
> If Cell.Value = 1 Then
> Cell.EntireColumn.Hidden = False
> End If
> Next Cell
> .PrintOut
> .Columns.Hidden = False
> Cancel = True
> End If
> End With
>
> Finito:
> With Application
> .ScreenUpdating = True
> .EnableEvents = True
> End With
> Set Cell = Nothing
> End Sub
>
> ----------------------------
Mange tak Leo.

Den vil jeg prøve med det samme.

Thomas.



TM (12-06-2001)
Kommentar
Fra : TM


Dato : 12-06-01 14:31

> Som ved Haralds løsning skal koden indsættes i ThisWorkbook.
> Gå til VBA-editoren med <Alt><F11> og dobbeltklik på ThisWorkbook
> i øverste venstre vindue. Kopier og indsæt nedenstående rutine og
> skriv selv de aktuelle værdier for SheetName og CheckRow.
>
> Med venlig hilsen
> LeoH
>
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
> 'leo.heuser@get2net.dk, 12. juni 2001
> Dim SheetName As String
> Dim CheckRow As Long
> Dim Cell As Range
>
> SheetName = "Ark1"
> CheckRow = 1
>
> On Error GoTo Finito
> With ActiveSheet
> If .Name = SheetName Then
> With Application
> .ScreenUpdating = False
> .EnableEvents = False
> End With
> .Columns.Hidden = True
> For Each Cell In Rows(CheckRow).Cells
> If Cell.Value = 1 Then
> Cell.EntireColumn.Hidden = False
> End If
> Next Cell
> .PrintOut
> .Columns.Hidden = False
> Cancel = True
> End If
> End With
>
> Finito:
> With Application
> .ScreenUpdating = True
> .EnableEvents = True
> End With
> Set Cell = Nothing
> End Sub
>
> ----------------------------
>
>
Leo. Jeg har kopieret koden ind i ThisWorkbook og ændret "Ark1" til "Navne"
som mit ark hedder jeg har indsat nogle 1 taller vilkårlige steder i række
1 men jeg synes ikke der sker noget den skriver stadig det hele ud hvordan
aktivere jeg den funktion.

Med venlig hilsen
Thomas



Leo Heuser (12-06-2001)
Kommentar
Fra : Leo Heuser


Dato : 12-06-01 16:29

Thomas

Funktionen bliver automatisk aktiveret, når du vælger udskriv eller
trykker på Udprint-knappen.
Jeg har vedhæftet min testopstilling til en personlig mail. Hvis du
stadig ikke kan få det til at virke, er du velkommen til at vedhæfte
en kopi af projektmappen og maile den til mig privat. Hvis filen
fylder mere end 100KB, vil jeg sætte pris på, at du zipper den først

Med venlig hilsen
LeoH



"TM" <tm@navalyard.dk> skrev i en meddelelse
news:9g55md$j7p$1@news.inet.tele.dk...
> > Som ved Haralds løsning skal koden indsættes i ThisWorkbook.
> > Gå til VBA-editoren med <Alt><F11> og dobbeltklik på ThisWorkbook
> > i øverste venstre vindue. Kopier og indsæt nedenstående rutine og
> > skriv selv de aktuelle værdier for SheetName og CheckRow.
> >
> > Med venlig hilsen
> > LeoH
> >
> > Private Sub Workbook_BeforePrint(Cancel As Boolean)
> > 'leo.heuser@get2net.dk, 12. juni 2001
> > Dim SheetName As String
> > Dim CheckRow As Long
> > Dim Cell As Range
> >
> > SheetName = "Ark1"
> > CheckRow = 1
> >
> > On Error GoTo Finito
> > With ActiveSheet
> > If .Name = SheetName Then
> > With Application
> > .ScreenUpdating = False
> > .EnableEvents = False
> > End With
> > .Columns.Hidden = True
> > For Each Cell In Rows(CheckRow).Cells
> > If Cell.Value = 1 Then
> > Cell.EntireColumn.Hidden = False
> > End If
> > Next Cell
> > .PrintOut
> > .Columns.Hidden = False
> > Cancel = True
> > End If
> > End With
> >
> > Finito:
> > With Application
> > .ScreenUpdating = True
> > .EnableEvents = True
> > End With
> > Set Cell = Nothing
> > End Sub
> >
> > ----------------------------
> >
> >
> Leo. Jeg har kopieret koden ind i ThisWorkbook og ændret "Ark1" til
"Navne"
> som mit ark hedder jeg har indsat nogle 1 taller vilkårlige steder i
række
> 1 men jeg synes ikke der sker noget den skriver stadig det hele ud hvordan
> aktivere jeg den funktion.
>
> Med venlig hilsen
> Thomas
>
>



Harald Staff (12-06-2001)
Kommentar
Fra : Harald Staff


Dato : 12-06-01 18:35

Before Print aktiveres dessuten ved "Print preview" ("Forhåndsvisning" på
norsk). Så sparer man en bøgeskov eller to under tilpasningen

Beste hilsen Harald

"Leo Heuser" <leo.heuser@get2net.dk> wrote in message
news:9g5clv$lba$1@sunsite.dk...
> Thomas
>
> Funktionen bliver automatisk aktiveret, når du vælger udskriv eller
> trykker på Udprint-knappen.




Palle Bruun (17-06-2001)
Kommentar
Fra : Palle Bruun


Dato : 17-06-01 21:44

Man kan altså også bare kopiere de kolonner man vil have udskrevet og
indsætte dem i et nyt ark - det tager ikke lang tid, men er selvfølgelig
ikke så 'fancy'

--
Hilsen
Palle

Harald Staff <harald.staff@eunet.no> skrev i en
nyhedsmeddelelse:9g5jqt$jsi$1@oslo-nntp.eunet.no...
> Before Print aktiveres dessuten ved "Print preview" ("Forhåndsvisning" på
> norsk). Så sparer man en bøgeskov eller to under tilpasningen
>
> Beste hilsen Harald
>
> "Leo Heuser" <leo.heuser@get2net.dk> wrote in message
> news:9g5clv$lba$1@sunsite.dk...
> > Thomas
> >
> > Funktionen bliver automatisk aktiveret, når du vælger udskriv eller
> > trykker på Udprint-knappen.
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste