Keresés

Részletes keresés

Redlac Creative Commons License 2012.02.21 0 0 17260

Köszönöm!

Előzmény: Delila10 (17259)
Delila10 Creative Commons License 2012.02.21 0 0 17259

Védett lapról van szó, mert az egyes cellák zárolása csak így érvényesül.

Az "ActiveSheet.Protect UserInterfaceOnly:=True" sor makróból engedélyezi a módosítást.

 

Ha jelszóval véded a lapot, ezt írd helyette:

ActiveSheet.Protect Password:="Hű_de_titkos_jelszó", UserInterfaceOnly:=True

 

Az a módszer is jó, amit Te írtál.

Előzmény: Redlac (17257)
Delila10 Creative Commons License 2012.02.21 0 0 17258

Védett lapról van szó, mert az egyes cellák zárolása csak így érvényesül.

Az "ActiveSheet.Protect UserInterfaceOnly:=True" sor makróból engedélyezi a módosítást.

 

Ha jelszóval véded a lapot, ezt írd helyette:

ActiveSheet.Protect Password:="Hű_de_titkos_jelszó", UserInterfaceOnly:=True

 

Az a módszer is jó, amit Te írtál.

Előzmény: Redlac (17257)
Redlac Creative Commons License 2012.02.20 0 0 17257

Köszönöm, remekül működik.

 

Még a végére beleraktam egyéb dupla kattintást, de a vegyülés is jól megy :-)

 

Ez a sor mit jelent?

 

"ActiveSheet.Protect UserInterfaceOnly:=True"

 

Ha jelszót teszek a lapra, akkor ennek a helyére kellene beírni, hogy:

 

Pass = "jelszó"   

ActiveSheet.Unprotect Pass

 

Illetve a végére:

 

ActiveSheet.Protect Pass

Előzmény: Delila10 (17249)
Or Kán Creative Commons License 2012.02.20 0 0 17256

Müxik?

Előzmény: kelan (17253)
Delila10 Creative Commons License 2012.02.20 0 0 17255

:)

Előzmény: kelan (17254)
kelan Creative Commons License 2012.02.20 0 0 17254

Ja, ha nem végzem el a másolást, akkor hibaüzenet fogad. Mostmár értem.

Előzmény: Or Kán (17251)
kelan Creative Commons License 2012.02.20 0 0 17253

Köszi Delila! :)

Előzmény: Delila10 (17252)
Delila10 Creative Commons License 2012.02.20 0 0 17252

Nincs ezzel semmi baj, csak előtte a másolandó területet ki kell jelölni, és másolni, majd az új helyre állva kell indítani a makrót – akár bill. kombinációval. Én is sűrűn alkalmazom, de a végére még betettem a kijelölés megszüntetését.

 

Sub Érték_beillesztése()

     'Billentyűparancs: Ctrl+e 

     Selection.PasteSpecial Paste:=xlValues 

     Application.CutCopyMode = False

End Sub

Előzmény: kelan (17250)
Or Kán Creative Commons License 2012.02.20 0 0 17251

Hát például az, hogy hiányzik belőle a select és a copy parancs.

Előzmény: kelan (17250)
kelan Creative Commons License 2012.02.20 0 0 17250

Sziasztok!

Szeretnék egy érték beillesztés makrót, hogy majd a hozzárendelt billentyűkombinációval működjön az érték beillesztés, de hibaüzenetet kapok a futtatáskor. Mi a baj ezzel a makróval?

 

Sub PasteValue()
'
' PasteValue Makró
'
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

 

Köszi!

Delila10 Creative Commons License 2012.02.20 0 0 17249

Így lehet kombinálni:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ActiveSheet.Protect UserInterfaceOnly:=True
    
    If Target.Column = 1 Then
        ActiveCell = "ü"
        With Selection.Font
            .Name = "Wingdings"
            .Bold = True
            .ColorIndex = 3
        End With
        Range("A" & Target.Row & ":U" & Target.Row).Select
        With Selection
            .Font.ColorIndex = 3
            .Locked = True
        End With
    End If
    
    If Target.Column = 3 Then Range(Target.Address) = Date
End Sub

Ha az A oszlopban (If Target.Column = 1) klikkelsz duplán, akkor beírja a pipát, és zárolja a sor celláit az A:U oszlopokban.

Ha viszont a C oszlopban kattintasz duplán, akkor a klikkelés helyére beírja a mai dátumot.

Előzmény: Redlac (17248)
Redlac Creative Commons License 2012.02.20 0 0 17248

Ez egyébként remek is lenne, de van jó pár helyen, ahol a dupla klikk a dátumot, vagy egyebet visz be (igen, nem).

 

Ha ezzel bárhol kattintok duplán ott meglesz a pipa (ez a wingdinges megoldás szuper :-)), de ott is, ahol eddig a dátumnak ellene lennie.

 

Csak az "A oszlopra tudod fókuszálni ezt a dupla klikket, mert a meglévőkkel próbáltam kombinálni, de nem működött.

 

Köszi előre is :-)

Előzmény: Delila10 (17246)
r11iksa Creative Commons License 2012.02.20 0 0 17247

Talán egyszerűbb lenne letölteni egy ingyenes pdf nyomtató drivert, ettől kezdve a pdf nyomtatás külön nyomtatóként kiválasztható. Én ezt használom, ha máshova kell átvinni fájlokat, nem kell beállítani nyomtatási képet az aktuális nyomtatóhoz.

Előzmény: kovacsmiklos1985 (17236)
Delila10 Creative Commons License 2012.02.20 0 0 17246

Mit szólsz ehhez a megoldáshoz? Megszünteted a jelölőnégyzeteket. Egy-egy cellán duplaklikkre piros pipa jel jelenik meg, az aktuális sor A:U tartománya zárolt lesz, a karakterek szintén piros színben pompáznak?

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ActiveSheet.Protect UserInterfaceOnly:=True
    ActiveCell = "ü"
    With Selection.Font
        .Name = "Wingdings"
        .Bold = True
        .ColorIndex = 3
    End With
    Range("A" & Target.Row & ":U" & Target.Row).Select
    Selection.Font.ColorIndex = 3
    Selection.Locked = True
End Sub

 

Ezt a makrót is a laphoz kell rendelni.

Előzmény: Redlac (17245)
Redlac Creative Commons License 2012.02.19 0 0 17245

Egy csoporton belül a szerveren elhelyezett táblázatot (egyfajta iktatót) soronként töltünk ki.

 

Amikor a tényleges iktatás megtörténik, és minden rendben van a beírt adatokkal, akkor a csoportvezető pipálná, hogy rendben (ez egyben át is szinezné az adott sort, hogy feltűnőbb legyen), és onnan kezdve nem lehetne módosítani az adott sort. Tehát a pipálásnak kell az utolsónak lenni.

 

Előzmény: Delila10 (17244)
Delila10 Creative Commons License 2012.02.19 0 0 17244

Próbáld meg úgy átrendezni az oszlopaidat, hogy először kelljen a négyzetet jelölni, és utoljára adatot bevinni a billentyűzetről. Ehhez az utolsó oszlophoz igazítsd a makrót.

Előzmény: Redlac (17243)
Redlac Creative Commons License 2012.02.19 0 0 17243

A jelölőnégyzetek hivatkozása zárná le, ami ebben az esetben mondjuk a B oszlop cellája.

 

Az A-ba raktam a jelölőnégyzetet, ahol még egy sorszám van csak. A B-re hivatkozik, de azt elrejtem. A lezárandó pedig a A-U lenne.

 

Azt gondoltam, hogy a lezárásnak mindegy hogyan lesz "tele" a cella.

Előzmény: Delila10 (17242)
Delila10 Creative Commons License 2012.02.19 0 0 17242

Ez egy eseménykezelő makró, ami a billentyűzetről bevitt eseményt figyeli.

 

Át lehetne írni pl. duplaklikk figyelésére, de akkor nem hajtódna végre a G oszlopba történő beírás után, pedig a leírásod szerint ez a fontos. 

Előzmény: Redlac (17241)
Redlac Creative Commons License 2012.02.19 0 0 17241

Szia Delila!

 

Arra nincs valami ötleted, hogy miért nem zárja le, ha nem manuálisan írom be, hanem képletből érkezik az utolsó beírás?

Előzmény: Delila10 (17240)
Delila10 Creative Commons License 2012.02.19 0 0 17240

Jimmy! Nézz be a postaládádba!

mimi_bacsi Creative Commons License 2012.02.18 0 0 17239

Vagy ha pl.: LibreOffice-t használsz, nem kell semmilyen kódsor, nyomtathatsz azonnal PDF formátumba....-)) (bocsánat az offtopikért:-))

Előzmény: kovacsmiklos1985 (17236)
Törölt nick Creative Commons License 2012.02.18 0 0 17238

Egyébként 2010-esben lehet pdf-ként menteni.

 

Előzmény: kovacsmiklos1985 (17236)
Törölt nick Creative Commons License 2012.02.18 0 0 17237

Csak tippelek. Nézd meg, hogy a VB Editorban, a Tools->References menüben találsz-e olyat, hogy pdfcreator. Ha igen, akkor be kéne ikszelni.

Előzmény: kovacsmiklos1985 (17236)
kovacsmiklos1985 Creative Commons License 2012.02.18 0 0 17236

Sziasztok!

 

Van egy kódsor, amelyet neten találtam, és amely arra szolgál, hogy EXCEL makró által egy excel munkalapot ki tudjak nyomtatni PDF formátumu fájlba mindenféle megadott paraméter szerint. A kód azonban leáll már rögtön a piros sornál. A PDFCreator fel van telepítve.

 

Hibaüzenet:  User-defined type not defined

 

 

Mi lehet a hiba???

 

 

 

 

Sub PrintToPDF_Early()
    Dim pdfjob As PDFCreator.clsPDFCreator
    Dim sPDFName As String
    Dim sPDFPath As String
    Dim bRestart As Boolean

    '/// Change the output file name here! ///
    sPDFName = "testPDF.pdf"
    sPDFPath = ActiveWorkbook.Path & Application.PathSeparator

    'Check if worksheet is empty and exit if so
    If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub

    'Activate error handling and turn off screen updates
    On Error GoTo EarlyExit
    Application.ScreenUpdating = False
    Set pdfjob = New PDFCreator.clsPDFCreator

    'Check if PDFCreator is already running and attempt to kill the process if so
    Do
        bRestart = False
        Set pdfjob = New PDFCreator.clsPDFCreator
        If pdfjob.cStart("/NoProcessingAtStartup") = False Then
            'PDF Creator is already running.  Kill the existing process
            Shell "taskkill /f /im PDFCreator.exe", vbHide
            DoEvents
            Set pdfjob = Nothing
            bRestart = True
        End If
    Loop Until bRestart = False

    'Assign settings for PDF job
    With pdfjob
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = sPDFPath
        .cOption("AutosaveFilename") = sPDFName
        .cOption("AutosaveFormat") = 0    ' 0 = PDF
        .cClearCache
    End With

    'Delete the PDF if it already exists
    If Dir(sPDFPath & sPDFName) = sPDFName Then Kill (sPDFPath & sPDFName)

    'Print the document to PDF
    ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"

    'Wait until the print job has entered the print queue
    Do Until pdfjob.cCountOfPrintjobs = 1
        DoEvents
    Loop
    pdfjob.cPrinterStop = False

    'Wait until the file shows up before closing PDF Creator
    Do
        DoEvents
    Loop Until Dir(sPDFPath & sPDFName) = sPDFName

Cleanup:
    'Release objects and terminate PDFCreator
    Set pdfjob = Nothing
    Shell "taskkill /f /im PDFCreator.exe", vbHide
    On Error GoTo 0
    Application.ScreenUpdating = True
    Exit Sub

EarlyExit:
    'Inform user of error, and go to cleanup section
    MsgBox "There was an error encountered.  PDFCreator has" & vbCrLf & _
           "has been terminated.  Please try again.", _
           vbCritical + vbOKOnly, "Error"
    Resume Cleanup

Redlac Creative Commons License 2012.02.17 0 0 17235

Nagyon érdekes...

 

Ha az utolsó cellába, amire lezárná a sort, képlet, vagy a jelölőnégyzet linkelése ír bele, akkor a lezárás nem működik!

 

Ha manuálisan írok bele a lezáró cellába, akkor szuper...hmmm

 

Előzmény: Delila10 (17225)
Törölt nick Creative Commons License 2012.02.17 0 0 17234

Itt egy fapados. Kell neki bemenő adatként, hogy mekkora cellatartományon belül kell invertálni a kijelölt cellákat.

Minél nagyobb ez a tartomány, annál tovább tart a futás. Egy teljes oszlopra kb. 2-3 másodperc.

Ha a feladat olyan, lehet neki ActiveSheet.UsedRange -et beadni.

 

 

Sub Inverz_Select(Src As Range)
    Dim Unio As Range, c As Range
    
    For Each c In Src.Cells
        If Intersect(c, Selection) Is Nothing Then
            If Unio Is Nothing Then
                Set Unio = c
            Else
                Set Unio = Union(Unio, c)
            End If
        End If
    Next
    Unio.Select
End Sub

 

 

Előzmény: Törölt nick (17233)
Törölt nick Creative Commons License 2012.02.17 0 0 17233

inverz select-re nincs valakinek vmi jó "cucca"?

 

 (A cellakijelölések "fordítottja")

Delila10 Creative Commons License 2012.02.17 0 0 17232

Örülök, hogy segíthettem, szívesen.

Előzmény: Redlac (17231)
Redlac Creative Commons License 2012.02.17 0 0 17231

Delila:-)!

 

Ez a jelölőnégyzetes makró valami fantasztikus. Most játszom vele, hogy a megfelelő helyre kerüljenek, de olyan valamit készítettél, amit már nagyon sokszor használtam volna, csak az a fránya élőmunka elriasztott.

 

Köszönöm szépen!

Előzmény: Delila10 (17227)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!