Kezdőlap › Fórumok › Excel témák › [Resolved] Nyomtatás
- This topic has 7 hozzászólás, 3 résztvevő, and was last updated 4 years, 10 months telt el by ngyrpd.
-
SzerzőBejegyzés
-
2019-10-02-19:40 #6339
Sziasztok!
Számomra egy komplex feladatról lenne szó, amiben remélem tudtok segíteni, útmutatást nyújtani. Adott az alábbi munkafüzet. Az első munkalapon az A oszlopban üzlet számok(nevek) találhatóak, a B oszlopban pedig az a mennyiség amennyi darabot kellene kinyomtatni az adott üzletnek a Munkalap 3-ból. A Munkalap1-ben az A oszlop állandó míg a B oszlop értékei napról-napra változnak. A Munkalap2-ben pedig A oszlop szintén az üzlet száma(neve) illetve a B oszlopban a hozzájuk tartozó kimenő sor/kapu található, jó lenne ha a Munkalap3-ba ha beírom az üzletszámát automatikusan megjelenne a kimenősor.
Jelenleg úgy zajlik a nyomtatás hogy a Munkalap3-ba beírom az adatokat az adott üzletnek, majd kiadom a nyomtatás parancsot, majd következik a következő üzlet, összesen 30 és van hogy egy nap 2x, 3x meg kell ezt ismételni, ezt a folyamatot szeretném felgyorsítani.
Ha valaki csak azzal is tudna segíteni hogy milyen kulcsszavakra keressek rá az is nagy segítség lenne, angol anyagok is jók. Köszönöm előre is a segítséget.Attachments:
You must be logged in to view attached files.2019-10-03-10:33 #6341Csináltam egy egyszerű makrót.
Ha anyomtatás nem menne, akkor rögzíts egy nyomtatást, a példányt írd át pld-nek, és menni fog.
Nem engedi feltölteni.
Bemásolom ide akkor:Sub Makró1()
‘
‘ Makró1 Makró
‘‘
Sheets(„Munka1”).Selectutolso = Cells(Rows.Count, „A”).End(xlUp).Row
For i = 2 To utolso
Sheets(„Munka1”).Select
uz = Cells(i, 1).Value
pld = Cells(i, 2).Value
Sheets(„Munka3”).Select
Cells(3, 4).Value = uzApplication.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = „”
.PrintTitleColumns = „”
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = „”
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = „”
.CenterHeader = „”
.RightHeader = „”
.LeftFooter = „”
.CenterFooter = „”
.RightFooter = „”
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = „”
.EvenPage.CenterHeader.Text = „”
.EvenPage.RightHeader.Text = „”
.EvenPage.LeftFooter.Text = „”
.EvenPage.CenterFooter.Text = „”
.EvenPage.RightFooter.Text = „”
.FirstPage.LeftHeader.Text = „”
.FirstPage.CenterHeader.Text = „”
.FirstPage.RightHeader.Text = „”
.FirstPage.LeftFooter.Text = „”
.FirstPage.CenterFooter.Text = „”
.FirstPage.RightFooter.Text = „”
End With
‘pld a példányszám
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=pld, Collate:=True, _
IgnorePrintAreas:=FalseNext i
End Sub
Attachments:
You must be logged in to view attached files.2019-10-03-17:18 #6343Nem volt nekem teljesen tiszta, mit is akarsz elérni. Úgy látom, címkéket szeretnél nyomtani, mindegyiket a Munka1 lap B oszlopában meghatározott darabszámmal.
Csatolok egy füzetet. A Nyomtatandó lapra tettem egy gombot, ami indítja a nyomtatást. Sorra veszi az üzleteket, összeállítja a címkéket, és kinyomtatja a megadott példányszámmal. Van ahol többet 1-2 darabbal, ami osztható maradék nélkül 3-mal. Pl. a 16 db helyett 18 címkéd lesz.
Ha csak 1-1 kiválasztott üzlethez nyomtatnál, nem az összeshez, akkor módosítom a makrót.2019-10-09-15:06 #6344Kedves Titok!
Köszi a makrót! Kipróbáltam, de úgy látom, hogy minden üzlethez csak egy címkét nyomtat, igaz hogy valójában nem nyomtattam ki, csak lecsatlakoztam a nyomtatóról és kiadtam a parancsot. Csatolok egy képet amin láthatod mire gondolok.
Attachments:
You must be logged in to view attached files.2019-10-09-15:18 #6346Szia!
Lehet, hogy a nyomtatás részét át kell írni a saját nyomtatódra.
Írtam is, hogy a pld-t ne felejtsd átírni, ha kell.
Mentsd le a fájlt csak 2 boltra, és 2 ill. 3 példányra, ez 5 oldal. Ha jó, akkor fog menni másképpen is.
Felmerült, depiroslila részéről hogy véletlenül nem Címkét akarsz nyomtatni?2019-10-09-15:18 #6347Kedves Delila!
Igen jól gondolod pontosan ezt szeretném, de nem találom a csatolt fájlt, el tudnád küldeni újra?
2019-10-09-16:22 #6348Újabban a data.hu sem fogadja az xlsm kiterjesztésű fájlokat. Bemásolom ide a makróját.
Sub Nyomtatas() Dim uzlet, sor As Integer, db, kimeno As String, x As Integer, oszlop As Integer Dim hol, szam As Integer, ide As Integer Sheets("Nyomtatandó").Select sor = 2 Do While Sheets("Munka1").Cells(sor, "A") <> "" Range("A:C").ClearContents uzlet = Sheets("Munka1").Cells(sor, "A") hol = Application.Match(uzlet, Sheets("Munka2").Columns(1), 0) kimeno = Sheets("Munka2").Cells(hol, 2) If Sheets("Munka1").Cells(sor, "B") <> "" Then hol = Application.Match(uzlet, Sheets("Munka1").Columns(1), 0) db = Application.WorksheetFunction.RoundUp(Sheets("Munka1").Cells(hol, 2) / 3, 0) szam = 1: ide = 1 Do While szam <= db For oszlop = 1 To 3 Cells(ide, oszlop) = "Üzlet száma: " & uzlet & vbLf & "Kimenő sor: " & kimeno _ & vbLf & Format(Date, "yyyy.mm.dd") Next ide = ide + 1 szam = szam + 1 Loop Range("A1").CurrentRegion.Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If sor = sor + 1 Loop End Sub
- A hozzászólás módosításra került: 5 years, 1 month telt el-delila.
2020-01-14-17:30 #6669Sziasztok! Sikerült megoldanom a problémát a következő makróval:
Sub Nyomtatas()
‘
‘ Nyomtatas Makró
‘‘
Range(„D4”).Select
Selection.Copy
Range(„C3”).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=Range(„E4”).Value, Collate:=True, _
IgnorePrintAreas:=False
Range(„D5”).Select
Application.CutCopyMode = False
Selection.Copy
Range(„C3”).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=Range(„E5”).Value, Collate:=True, _
IgnorePrintAreas:=False
Range(„D6”).Select
Application.CutCopyMode = False
Selection.Copy
Range(„C3”).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=Range(„E6”).Value, Collate:=True, _
IgnorePrintAreas:=False
End SubA fenti makróban 3szor van kiadva a nyomtatás parancs de az eredetiben nagyjából 500szor kellene. A problémám az, hogy ha a cella értéke aminek az értéke adja a példányszámot (Copies:=Range(„E6”).Value) = 0-val akkor nem fut végig a makro. Valakinek van ötlete arra, hogy hogyan lehetne ezt kiküszöbölni?
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.