Keresés

Részletes keresés

James 42 Creative Commons License 2020.06.18 0 0 34597

Megnéztem, és tényleg meg lehet adni, de ha 1 az érték, akkor tökmindegy.

Előzmény: James 42 (34596)
James 42 Creative Commons License 2020.06.18 0 0 34596

Ez nekem magas. Az 1 hexában is 1. A duplaszót meg nem kell állítgatni, az duplaszó, és kész.

Előzmény: JT2 (34595)
JT2 Creative Commons License 2020.06.18 0 0 34595

ja, ez a duplaszós dolog....decimalra kellett állítani de mindig visszaáll hexadecimálisra.

Előzmény: James 42 (34591)
JT2 Creative Commons License 2020.06.18 0 0 34594

szia!

Azzal kezdtem mielőtt a beírtam volna a fórumba de ott sem sikerült.

Előzmény: Eredő Vektor (34592)
JT2 Creative Commons License 2020.06.18 0 0 34593

Igen, már megtettem. Találtam angol nyelvű oldalt ahol ugyanezzel a problémákkal szembesültek de megoldás nem volt. Feladtam.

Előzmény: James 42 (34591)
Eredő Vektor Creative Commons License 2020.06.18 0 0 34592

Szia,

Én az exceles  biztonsági beállításoknál keresnék valahol egy alacsonyabb szintű beállítást.

Nem jártam utána :(

 

Előzmény: JT2 (34584)
James 42 Creative Commons License 2020.06.18 0 0 34591

Tehát létrehoztad azt a DisableHyperlinkWarning nevű duplaszó típusú változót, és az értékét 1-re állítottad?

Előzmény: JT2 (34590)
JT2 Creative Commons License 2020.06.18 0 0 34590

rajta vagyok..... a registryben kell változtatni de egyelőre ez sem oldja meg....még nem adom fel. Ha találok megoldást, megosztom.

Előzmény: James 42 (34589)
James 42 Creative Commons License 2020.06.18 0 0 34589

Megkerestem: 16.0.

Előzmény: James 42 (34588)
James 42 Creative Commons License 2020.06.18 0 0 34588

Szerintem annál is ugyanúgy kellene mennie, csak a 12.0 vagy 14.0 helyett meg kell keresni a 2016-osnak a saját számát, amit nem tudok fejből.

Előzmény: JT2 (34587)
JT2 Creative Commons License 2020.06.18 0 0 34587

...de ez 2007 és 2010-es Excel-re ír megoldást, amit a 2016-ban nem találok

Előzmény: James 42 (34585)
JT2 Creative Commons License 2020.06.18 0 0 34586

pont ezt olvasom :)

Előzmény: James 42 (34585)
James 42 Creative Commons License 2020.06.18 0 0 34585
Előzmény: JT2 (34584)
JT2 Creative Commons License 2020.06.18 0 0 34584

Szia!

 

Rákerestem bár lehet, hogy nem a megfelelő kulcsszavakkal.

Köszi a fáradozást de ez sem segített, mert ezeket már végignéztem a beállításoknál.

A megbízható helyeknél engedélyeztem és megadtam az elérési utat is (almappák is engedélyezve) de nem segített.

A megbízható dokumentumoknál "a hálózaton lévő dokumentumok megbízhatóan kezelhetők" bejelölve

Külső adattartalomnál "az összes adatkapcsolat engedélyezése(nem ajánlott)" bejelölve

 

Egyéb ötlet?

Előzmény: James 42 (34583)
James 42 Creative Commons License 2020.06.18 0 0 34583
Előzmény: JT2 (34582)
JT2 Creative Commons License 2020.06.18 0 0 34582

Üdv Mindenkinek!

Office 2016-ot futtatok.

Egy Excel cellára egyet kattintva egy hiperhivatkozás függvénnyel egy a gépemen lévő fájlt nyitok meg.
pl. képet vagy videót.
Meg tudom nyitni de nem egy lépésből, mert az Office egy ablakot dob fel a következő üzenettel:
**********************************************************************************
"néhány fájl vírust tartalmazhat, vagy más módon veszélyeztetheti a számítógépet.
Ellenőrizze, hogy a fájl megbízható forrásból származik-e"
**********************************************************************************
Mivel a saját gépemen akarom megnyitni a fájlt nem tartok attól, hogy gond lenne ezért szeretném kiiktatni ezt az üzenetet.
Próbálkoztam már a beállítások között de nem találom azt, ami ezt megoldaná.
Van erre ötlete valakinek?

pimre Creative Commons License 2020.06.17 0 0 34581

Szia, nagyon köszönöm. Ez volt a megoldás. 

Előzmény: m54-b (34580)
m54-b Creative Commons License 2020.06.17 0 0 34580

Ezt nézd meg:

 

 

(2007 Office ez az.)

Előzmény: pimre (34579)
pimre Creative Commons License 2020.06.16 0 0 34579

Igen, áthelyezés, vagy másolás, és természetesen másolatot kértem. Még véletlenül sem akartam elrontani az eredetit.

És mindkettő kiterjesztése xlsm, ráadásul ugyanaz a fájl van mindkét képen. Ezeket ugyanis itt is ott is tartom. Részben biztonsági másolatként, részben azért, hogy ha ez egyikhez nem férek hozzá, akkor a másikon ugyanazokkal a fájlokkal tudjak dolgozni.

Tehát ebből a szempontból sem volt eltérés köztük. 

 

Próbáltam másik Excel munkalapra kérni a másolást, próbáltam új munkafüzetbe. Az eredmény minden esetben változatlan volt. Egyiken jó, másikon nem.

 

Még egy dolog jut eszembe, ahogy most írok. Holnap megnézem, hogy nem lehet-e az Excel beállításainál találni valami olyan különbséget, ami az eltérést okozhatja. Csak az a beállítás menü annyira kellemetlen. Nem lehet másolni, nyomtatni (legfeljebb képlopóval, de az nehézkes), tehát emlékeznem kell, hogy, mi volt a beállítás egyiken és másikon.  

Előzmény: Fferi50 (34577)
pimre Creative Commons License 2020.06.16 0 0 34578

Kösz, nagy nehezen én is rátaláltam a disappers keresőszóra, a másodikat meg is találtam. A Mrexcel-t nem, de tovább fogom náluk is keresni, hátha találok egy használható választ a kérdésre.

 

De hogy két - lényegében azonos módon beállított - gépen másképp működjön, az igazán rejtélyes.  Ha esetleg megtalálom valamikor az okot, azonnal megírom. 

Előzmény: Törölt nick (34576)
Fferi50 Creative Commons License 2020.06.16 0 0 34577

Szia!

Milyen módon másoltad a munkalapot?

Lapfül - jobb egérgomb - áthelyezés vagy másolás - új munkafüzet(esetleg egy már meglevőbe) és legyen másolat módon?

Vagy esetleg másként?

Mi a 2 fájl kiterjesztése?

Üdv.

Ps. A másolásnál szerintem is mennie kellene a munkalapon levő diagramnak.

Előzmény: pimre (34575)
Törölt nick Creative Commons License 2020.06.16 0 0 34576
Előzmény: pimre (34575)
pimre Creative Commons License 2020.06.16 0 0 34575

Sziasztok, megdöbbentő jelenséggel találkoztam, és fontos lenne kiderítenem az okát.

 

Van két gépem, mindkettő windows 7 alatt Excel 2010 fut.

 

Vannak évenként visszatérő azonos feladataim, amelyekben azonos szerkezetű adatsorokból azonos kinézetű diagramokat kell készítenem.

Tavaly jöttem rá, hogy nem kell a diagramokat mindig újból elkészíteni. Elég, ha a meglévő tavalyi munkalapot átmásolom az új fájlba, majd csak az új adatokat írom be a diagram forrását jelentő cellákba, és a diagram frissül. 

 

Akkor ezt a másolást a laptopomon végeztem (éppen vidéken voltam), és természetesnek tartottam, hogy a munkalap másoláskor a rajta lévő diagramot is viszi magával.

 

Idén itthon vagyok, és az asztali gépemen másoltam a munkalapot, és meglepődtem, hogy a másoláskor csak az adatok kerülnek át, a diagramok nem.

 

Visszaültem a laptophoz, ott tökéletesen működött a másolás.

 

Elsőre azt hittem, hogy a sablonok okozzák a zavart, de kiderült, hogy éppen azon a gépen nem voltak sablonok, ahol jól működik a dolog. Akkor megpróbáltam a másik gépről is törölni a sablonokat, de - ahogy várható volt - továbbra sem működött a másolás.

 

Azért lenne fontos, mert ki tudja, hogy a közelgő verzióváltáskor mi lesz a helyzet. Jó lenne, ha úgy tudnám a gépeket beállítani, hogy működjön a másolás.

 

Végső soron persze meg fogom tudni kerülni a problémát (Komplett fájl másolása, átnevezése, majd csak az adatok frissítése), de azért nyugtalanít a dolog.  

 

Próbáltam volna interneten rákeresni a jelenségre, de nem tudok igazán jó keresőszavakat találni a hibajelenséghez.

 

Nagyon hálás lennék, ha valaki rá tudna vezetni a hiba okára.

JT2 Creative Commons License 2020.06.14 0 0 34574

...basszus figyelmetlen vagyok azért válaszolok több részletben...   Windows 10 az op rendszer.

De mivel nagyjából megoldódott a problémám a 2016-os Office-szal ezért nem szeretnék senkit tovább kínozni hacsak passzióból nem tud valami szuper-tutkó-praktikus-rövid megoldást, ami mindent visz. De addig is....most elvagyok azzal, amit eddig javasoltatok. Mindenkinek köszönet. Ha lesz még kérdésem "I'll be back".

Előzmény: JT2 (34573)
JT2 Creative Commons License 2020.06.14 0 0 34573

ja, és xls-ben mentem a fájlokat és nem az újabb formátumban...

Előzmény: Törölt nick (34568)
JT2 Creative Commons License 2020.06.14 0 0 34572

pár napja már 2016-os Office-t használok

Előzmény: Törölt nick (34568)
Törölt nick Creative Commons License 2020.06.13 0 0 34571

Pimre visszajelzését követően kipróbáltam a programot egy Win XP-vel és Office 2003-mal felfegyverzett virtuális gépen, Compatibility Pack telepítés után.

 

Az eredeti .xlsm fájlt, amit xl2019-ben csináltam, nem tudta megnyitni. 

 

Létrehoztam egy új munkafüzetet, bemásoltam a kódot, tettem bele képeket, elmentettem .xlsm formátumban. A kód elakadt a Set oWIA = CreateObject("WIA.ImageFile") sornál. Ez szerintem annak tudható be, hogy Win XP-ben a WIA másképp működik. De az általad jelzett soron simán átlépett: megcsinálta a zip kitömörítést, beolvasta az XML adatokat, stb.

 

Ha viszont a fájlt .xls formában mentem, és úgy futtatom a kódot, akkor nem csinálja meg az unzip műveletet, és ott jelez hibát, ahol neked is:

.Path_to_SheetXML = XL_Folder & "" & Split(sTemp, "/")(0)

csak más hibaüzenettel.

 

Szóval ha a fájlod neve valami.xls, szerintem mentsd el valami.xlsm néven, és próbáld ki a programot úgy. (Ugye nem Win XP-t használsz?)

 

Előzmény: JT2 (34567)
Törölt nick Creative Commons License 2020.06.13 0 0 34570

Az előbb elhamarkodottan írtam, hogy xl2003-mal nem működhet, mert nem gondoltam végig, és megfeledkeztem a Microsoft Compatibility Pack-ről (https://download.cnet.com/Microsoft-Office-Compatibility-Pack-for-Word-Excel-and-PowerPoint-File-Formats/3000-18483_4-10648733.html), amely segítségével az OpenXML formátum elérhetővé vált xl2003 alatt is.

Előzmény: pimre (34569)
pimre Creative Commons License 2020.06.13 0 0 34569
Előzmény: Törölt nick (34568)
Törölt nick Creative Commons License 2020.06.13 0 0 34568

Ez a hibaüzenet nekem nem mond semmit. Max arra tudok gondolni, hogy többkötetes zip fájlt érzékel, ami egyrészt nem valószínű, másrészt biztos nem annál a kódsornál jelentkezne, amit írtál.

Attól tartok, ezt nehéz lesz távgyógyítani...

Milyen Excel verzióval küzdesz? Nem említettem, de ez a kód Excel 2007 alatt biztosan nem fog futni, tekintettel arra, az OpenXML formátumot (xlsx, xlsm és társaik) a 2007-es Office verzióban vezették be.

Előzmény: JT2 (34566)
JT2 Creative Commons License 2020.06.13 0 0 34567

itt jelez hibát:

.Path_to_SheetXML = XL_Folder & "" & Split(sTemp, "/")(0)

Előzmény: Törölt nick (34564)
JT2 Creative Commons License 2020.06.13 0 0 34566

úgy tűnik nem ment át a csatolt kép....akkor idézem "helyezze be a többkötetes készlet utolsó lemezét majd a folytatáshoz kattintson az OK gombra"

Előzmény: Törölt nick (34564)
JT2 Creative Commons License 2020.06.13 0 0 34565

Remélem mindent úgy csináltam, ahogy leírtad. Ezt az üzenetet dobta fel (csatolt kép)

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

Nemtom, belefér-e a teljes kód... de mindenesetre ezt kellene átmásolni egy szűz kódmodulra, és futtatni a RestoreCommentPictureSize makrót.
Megjegyzések:

- Az Excel munkafüzetet takaró fájl valójában egy zip archivum, amit ki lehet csomagolni, és akkor feltárul a belső xml szerkezet. A kommentek hátteréül szolgáló képek eredeti méretben lesznek kimentve.
- A lenti kód másolatot készít az aktuális munkafüzetről, a másolatot kicsomagolja (unzip) egy mappába. E művelet során a munkafüzet 2x is mentésre kerül. Mentéssel a Visszavonás (Undo) opció elvész, tehát a mentés előtti műveleteket nem fogod tudni visszavonni a program futtatása után.
- A program a kicsomagolt mappában a különböző xml és egyéb fájlok elemzésével felderíti a kommentek és a képek kapcsolatát, majd a kép eredeti dimenzióit felhasználva átméretezi a komment dobozát.
- A munkafüzet mindegyik munkalapján elvégzi az átméretezéseket az érintett kommenteken.
- Az xml fájlokban definiált kapcsolatokat nem gyári specifikációkból vettem, hanem magam derítettem fel a szövegfájlok elemzésével, így ebben elképzelhető hiba.

- Én csak 4-5 képes kommenttel teszteltem a programot, de akárhogy rendeztem át a cellákat és akárhogy ziláltam szét előzőleg a komment méreteket, ezekkel teljesen jól működött.
- A futás során keletkezik egy zip fájl és egy mappa, amelyeket elvileg a program töröl is, de valamiért ez a törlés nem mindig következik be. Ezért a program indítása előtt mindig győződj meg róla, hogy mind a zip fájl, mind az unzip mappa törölve lett, mert különben a program hibára fog futni. (Bocsi, nem volt már energiám ilyen helyzeteket is kezelni.)
- A progam megfelelő működéséhez nem szükséges, hogy a kommentek meg legyenek jelenítve.
- Végül, de nem utolsósorban: nincs benne SendKeys :o)

 

És akkor most sűrű fohászkodás, hogy a fórummotor jól jelenítse meg....


Option Explicit

Type TXMLWorksheet
    SheetRID As String
    Name_of_Worksheet As String
    Name_of_SheetXML As String
    Name_of_SheetRelations As String
    Name_of_vmlDrawingVML As String
    Name_of_vmlDrawingRelations As String
    Path_to_SheetXML As String
    Path_to_SheetRelations As String
    Path_to_CommentsXML As String
    Path_to_vmlDrawingVML As String
    Path_to_vmlDrawingRelations As String
End Type

Type TImageSize
    Width As Single
    Height As Single
End Type
    
Private ZipFolder As String, XL_Folder As String
Private Path_WorkbookXML As String, Path_WorkbookXML_Rels As String
Private xmlWorksheets() As TXMLWorksheet
'

Sub RestoreCommentPictureSize()
    Copy_UnZip_Workbook
    Collect_XML_WorksheetData
    IterateThroughComments
    On Error GoTo nodelete
    CreateObject("Scripting.FileSystemObject").DeleteFolder ZipFolder
    MsgBox "Kommentek átméretezése kész."
    Exit Sub
    
nodelete:
    MsgBox "Hiba történt a " & ZipFolder & " mappa törlése során. Manuálisan kellene törölni."
    Resume Next
End Sub


Private Sub Copy_UnZip_Workbook()
    Dim myName As String, myShortName As String, myFullPath As String
    Dim WorkFileXLPath As String, WorkFileZipPath As String
    Dim oShell As Object
    
    myName = ThisWorkbook.Name
    myShortName = Left(myName, InStrRev(myName, ".") - 1)
    myFullPath = ThisWorkbook.Path & "\" & myName
    
    WorkFileXLPath = ThisWorkbook.Path & "\" & myShortName & "2.xlsm"
    WorkFileZipPath = ThisWorkbook.Path & "\" & myShortName & ".zip"
    ZipFolder = ThisWorkbook.Path & "\" & myShortName & "_unzip"
    XL_Folder = ZipFolder & "\xl"
    
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs WorkFileXLPath
    ThisWorkbook.SaveAs myFullPath
    Name WorkFileXLPath As WorkFileZipPath
    MkDir ZipFolder
    Set oShell = CreateObject("Shell.Application")
    oShell.Namespace(ZipFolder & "\").CopyHere oShell.Namespace(WorkFileZipPath & "\").Items
    Kill WorkFileZipPath
    Application.DisplayAlerts = True
    
End Sub

Private Sub Collect_XML_WorksheetData()
    Dim TextLine As String
    Dim pos As Long, i As Long, j As Long, sTemp As String
    
    Path_WorkbookXML = XL_Folder & "\workbook.xml"
    Path_WorkbookXML_Rels = XL_Folder & "\_rels\workbook.xml.rels"
    ReDim xmlWorksheets(1 To ThisWorkbook.Worksheets.Count)
    
    For i = 1 To ThisWorkbook.Worksheets.Count
        With xmlWorksheets(i)
            .Name_of_Worksheet = ThisWorkbook.Worksheets(i).Name
            'Set .myWorksheet = ThisWorkbook.Worksheets(i)
            
            'sheet relation id kiolvasása workbook.xml -ből
            TextLine = Get_SpecificLine_From_TextFile(Filepath:=Path_WorkbookXML, LineMarker:="sheet name=""" & .Name_of_Worksheet)
            pos = InStr(TextLine, "r:")
            .SheetRID = Mid(TextLine, pos + 5)
            
            'sheet.xml elérési útjának kiolvasása workbook.xml.rels fájlból
            TextLine = Get_SpecificLine_From_TextFile(Filepath:=Path_WorkbookXML_Rels, LineMarker:="Relationship Id=" & .SheetRID)
            pos = InStr(TextLine, "Target=")
            sTemp = Replace(Mid(TextLine, pos + 7), """", "")
            .Path_to_SheetXML = XL_Folder & "\" & Split(sTemp, "/")(0)
            .Name_of_SheetXML = Split(sTemp, "/")(1)
            
            'sheet relations file elérési útjának összerakása, a fájl megnyitása, belőle további XML elérések kiolvasása
            .Path_to_SheetRelations = .Path_to_SheetXML & "\_rels"
            .Name_of_SheetRelations = .Name_of_SheetXML & ".rels"
            'Comment.xml elérése
            TextLine = Get_SpecificLine_From_TextFile(Filepath:=.Path_to_SheetRelations & "\" & .Name_of_SheetRelations, LineMarker:="relationships/comments")
            If TextLine <> "" Then
                pos = InStr(TextLine, "Target=")
                sTemp = Replace(Mid(TextLine, pos + 7), """", "")
                sTemp = Replace(sTemp, "/", "\")
                .Path_to_CommentsXML = .Path_to_SheetXML & "\" & sTemp
            End If
            'vmlDrawing.vml elérése
            TextLine = Get_SpecificLine_From_TextFile(Filepath:=.Path_to_SheetRelations & "\" & .Name_of_SheetRelations, LineMarker:="relationships/vmlDrawing")
            If TextLine <> "" Then
                pos = InStr(TextLine, "Target=")
                sTemp = Replace(Mid(TextLine, pos + 7), """", "")
                sTemp = Replace(sTemp, "/", "\")
                pos = InStrRev(sTemp, "\")
                .Path_to_vmlDrawingVML = .Path_to_SheetXML & "\" & Left(sTemp, pos - 1)
                .Name_of_vmlDrawingVML = Mid(sTemp, pos + 1)
                .Path_to_vmlDrawingRelations = .Path_to_vmlDrawingVML & "\_rels"
                .Name_of_vmlDrawingRelations = .Name_of_vmlDrawingVML & ".rels"
            End If
        End With
    Next
End Sub

Private Sub IterateThroughComments()
    Dim ws As Worksheet, wsXML As TXMLWorksheet, cmt As Comment, sh As Shape
    Dim iCol As Long, iRow As Long, PicRelsID As String, Path_to_Image As String
    Dim i As Long, sTemp As String, pos As Long, ImgSize As TImageSize
    
    For Each ws In ThisWorkbook.Worksheets
        For i = 1 To UBound(xmlWorksheets)
            If ws.Name = xmlWorksheets(i).Name_of_Worksheet Then Exit For
        Next
        wsXML = xmlWorksheets(i)
        For Each cmt In ws.Comments
            iCol = cmt.Parent.Column - 1
            iRow = cmt.Parent.Row - 1
            Application.StatusBar = wsXML.Name_of_Worksheet & "(" & iRow & "," & iCol & ")"
            PicRelsID = Get_CommentPicID_From_vmlDrawing(vmlFilePath:=wsXML.Path_to_vmlDrawingVML & "\" & wsXML.Name_of_vmlDrawingVML, iColumn:=iCol, iRow:=iRow)
            If Not PicRelsID = "" Then
                sTemp = Get_SpecificLine_From_TextFile(Filepath:=wsXML.Path_to_vmlDrawingRelations & "\" & wsXML.Name_of_vmlDrawingRelations, LineMarker:="Relationship Id=""" & PicRelsID)
                pos = InStr(sTemp, "Target=")
                sTemp = Mid(sTemp, pos + 8)
                sTemp = Replace(sTemp, """", "")
                sTemp = Replace(sTemp, "/", "\")
                Path_to_Image = wsXML.Path_to_SheetXML & "\" & sTemp
                ImgSize = Get_ImageSize(Path_to_Image)
                With cmt.Shape
                    .LockAspectRatio = msoFalse
                    .Width = ImgSize.Width
                    .Height = ImgSize.Height
                End With
            End If
        Next
    Next
    Application.StatusBar = False
End Sub

'XML szövegfájlban megkeres egy bizonyos sort (az elsőt, ami tartalmazza a LineMarker stringet), és azt adja vissza
Private Function Get_SpecificLine_From_TextFile(Filepath As String, LineMarker As String) As String
    Dim iFileNum As Long, TextFileContent As String, TextLines() As String, i As Long, Result As String
    
    If Dir(Filepath) = "" Then Exit Function
    iFileNum = FreeFile
    Open Filepath For Input As iFileNum
    TextFileContent = Input(LOF(iFileNum), iFileNum)
    Close iFileNum
    
    TextFileContent = Replace(TextFileContent, "><", ">[|]<")
    TextLines = Split(TextFileContent, "[|]")
    For i = 0 To UBound(TextLines)
        If InStr(TextLines(i), LineMarker) > 0 Then
            Result = TextLines(i)
            Exit For
        End If
    Next
    Result = Replace(Result, "<", "")
    Result = Replace(Result, "/>", "")
    Get_SpecificLine_From_TextFile = Result
End Function


'Comment hátteréül szolgáló kép elérési útvonalát határozza meg az unzippelt Excel munkafüzet mapparendszerében
Private Function Get_CommentPicID_From_vmlDrawing(vmlFilePath As String, iColumn As Long, iRow As Long)
    Dim iFileNum As Long, TextFileContent As String, TextLines() As String
    Dim i As Long, Result As String, sTemp As String, pos As String
    
    iFileNum = FreeFile
    Open vmlFilePath For Input As iFileNum
    TextFileContent = Input(LOF(iFileNum), iFileNum)
    Close iFileNum
    
    TextFileContent = Replace(TextFileContent, "<v:shape", "[|]<v:shape")
    TextLines = Split(TextFileContent, "[|]")
    For i = 0 To UBound(TextLines)
        If (InStr(TextLines(i), "<x:Row>" & iRow & "</x:Row>") > 0) And (InStr(TextLines(i), "<x:Column>" & iColumn & "</x:Column>") > 0) Then
            Exit For
        End If
    Next
    If i > UBound(TextLines) Then Exit Function
    
    sTemp = TextLines(i)
    pos = InStr(sTemp, "<v:fill o:relid=")
    If pos = 0 Then Exit Function
    
    sTemp = Mid(sTemp, pos)
    Result = Split(sTemp, """")(1)
    
    Get_CommentPicID_From_vmlDrawing = Result
End Function

'a megadott útvonalon található kép méreteit adja vissza pixelben
Private Function Get_ImageSize(ImagePath As String) As TImageSize
    Dim oWIA As Object, Result As TImageSize
    
    Set oWIA = CreateObject("WIA.ImageFile")
    oWIA.LoadFile ImagePath
    Result.Height = oWIA.Height
    Result.Width = oWIA.Width
    Get_ImageSize = Result
End Function





Előzmény: JT2 (34563)
JT2 Creative Commons License 2020.06.12 0 0 34563

ok, előre is köszi

Előzmény: Törölt nick (34561)
JT2 Creative Commons License 2020.06.12 0 0 34562

köszi....ez hasznos volt, jól működik. Bár egy-egy képpel nem tud elbánni és azt manuálisan kell megoldanom de ez nem gond.

Előzmény: Fferi50 (34560)
Törölt nick Creative Commons License 2020.06.11 0 0 34561

Dolgozom egy alternatív megoldáson. Nem tudom, mikor lesz kész, majd nézz vissza időnként.

Előzmény: JT2 (34558)
Fferi50 Creative Commons License 2020.06.11 0 0 34560

Szia!

Azt látom, hogy valamiért nem szereti így a megjegyzések kigyűjtését. Ezért előbb a cellákat kell megnézni, van-e megjegyzése, ha igen akkor lehet ráengedni a méretezési részt:

Sub Megjegyzem()
Dim sh As Shape, cm As Comment, i As Long, cl As Range
For i = 1 To 2
For Each cl In Selection.Cells '<<<< ez a sor lett csak kicserélve!
If Not cl.Comment Is Nothing Then
Set cm = cl.Comment
cm.Visible = True
Set sh = cm.Shape
sh.Select
DoEvents
Application.SendKeys "^1"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
cm.Visible = False
End If
Next
Next
End Sub

 

Ennyi, szerintem így már mennie kell. Kipróbáltam.

Üdv.

Előzmény: JT2 (34558)
pimre Creative Commons License 2020.06.11 0 0 34559

Nem azért, hanem azért, mert a tantárgyaknak nincs egységesített országos nevezéktana. Persze, lehet, hogy nem is kellene, de ez nehézzé teszi az azonos tartalmú, de eltérő elnevezésű tantárgyak értékelését. Ráadásul az középiskolák ezt készen kapják az Oktatási Hivataltól. Azok meg az általános iskoláktól gyűjtik be, szóval az egységesítés szinte megoldhatatlan. Hacsak a Hivatal egyszer ki nem dolgoz valami kódrendszert, amivel egységes formára hozza az azonos tartalmú tárgyakat. Onnantól már megoldhatnák az általad javasolt find/replace műveletet.

 

Csak együttérezni lehet azokkal a tanárokkal, akiknek felvételiztetéskor ezekből az alapadatokból kell összesíteniük a tanulók hozott érdemjegyeit.

Előzmény: Törölt nick (34557)
JT2 Creative Commons License 2020.06.11 0 0 34558

Szia! Köszi!

Kipróbáltam, de nem műxik, hibát jelez.

Nem értem miért pedig ez még nekem is logikusnak és helyesnek tűnik.

Látsz valami hibát? Mit ronthattam el?

 

Sub Megjegyzem()
Dim sh As Shape, cm As Comment, i As Long
For i = 1 To 2
For Each cm In Selection.Comments      <<<< ez a sor lett csak kicserélve!
cm.Visible = True
Set sh = cm.Shape
sh.Select
DoEvents
Application.SendKeys "^1"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
cm.Visible = False
Next
Next
End Sub

Előzmény: Fferi50 (34549)
Törölt nick Creative Commons License 2020.06.11 0 0 34557

Úgy sejtem, azért lett ez ennyire összekuszálva, mert a szövegből -> oszlopok bontásban a szóköz lett határolónak kiválasztva.

Ha így van, akkor szerintem (hasonló esetben legközelebb) először az eredeti szöveget kell megtisztítani, a tantárgyak nevét egyszerű find/replace művelettel egységes formába hozni.

Előzmény: pimre (34556)
pimre Creative Commons License 2020.06.11 0 0 34556

Nem ilyen egyszerű. Nekünk a neve mindegy lett volna, csak a helye nem, és ez okozta a gondot. A súlyozás nem jött szóba, mert ugyanazt fedték a nevek, így szerencsére csak az egyik név alatt jöttek adatok.

 

Egy diáknak a történelem jegyét az egyik néven adják meg, amihez a hozott osztályzatát mondjuk az AU,AV oszlopokban találom, a másikét a az eltérő név miatt a BB,BC oszlopokban, a harmadikét a CC,CD oszlopokban. Ezért aztán ilyen szörnyszüleményeket kellett létrehozni:

=(AM4+AN4+AQ4+AR4)/2+BC4+BD4+BK4+BL4+AY4+AZ4+AU4+AV4+CU4+CV4, ahol a zárójeles részt - más okból - valóban átlagolni kellett, viszont a BC-BD az egyik neve a tantárgynak, a BK-BL a másik, de ugyanezigaz az AY-AZ és AU-AV párosra. Még szerencse, hogy egy tanulónál csak az egyik párban volt adat, így nyugodtan lehetett összegezni őket.

 

És ráadásul több táblázatban kellett ezt megcsinálni, és azokban külön-külön összehozni a fenti képletet, mert más iskolákból, más elnevezésű tantárgyakkal más oszlopokban voltak az osztályzatok.

 

 

Előzmény: _Nyuszi (34555)
_Nyuszi Creative Commons License 2020.06.11 0 0 34555

Érdekes, amit írsz, valóban néha úgy kell kezdeni, hogy egyenszilárdságúra hozza az ember. :(

Amit a törivel kapcsolatban írsz: van jelentősége a tárgy nevének? Úgy értem, ha 5 tárgyat kell átlagolni, ott az az öt és kész. Mert ha a három töri tárgynak eltérő a neve, akkor - véleményem szerint - tartalmában is el kell térnie, tehát az átlagolásban csak súlyozás után használhatóak fel.

Rosszul látom?

Előzmény: pimre (34553)
Geréb Laci Creative Commons License 2020.06.10 0 0 34554

Sziasztok.Adott egy lista 1-100 ig,amelyikbe be szeretnék írni egyszeruen számokat,ugy ,hogy en csak annyit kelljen irjak egyik négyzetbe ,hogy 3,a másikba azt hogy 21 ,és ezt automatikusan megjeleniti a listában.Ezt kellene tudja csinálni folytatolagosan.Például

5 db 21

2 db 25

3 db 30

4 db 24 

es nekem a listaban igy jelenjen meg,ennyi gepeles utan

1 21

1 21

1 21

1 21

1 21

 

1 25

1 25

1 30

1 30

1 30

1 24

1 24

1 24

1 24

Koszi a segítséget!:)

pimre Creative Commons License 2020.06.10 0 0 34553

Az a baj, hogy valószínűleg nem ők jelölik így az osztályzatokat. Volt szerencsém segíteni ismerősömnek egy gimnáziumi felvételi értékelésében. Az oktatási hivataltól kapnak egy több száz oszlopos táblázatot, amely többek között a gyerekek általános iskolából hozott érdemjegyeit tartalmazza. És ott szerepelnek ilyen elképesztően szerencsétlen megoldások is. Szerencsére nem volt túl sok, így kézzel át tudtuk javítgatni őket. Lehetett volna a bal() függvényt használni, de az még nehézkesebbé tette volna a képlet létrehozását, mivel soronként más-más oszlopokból kellett kinyerni az osztályzatokat. Ennek oka a következő:

 

Borzalmasan nehezen kezelhető a táblázat, mert attól függően, hogy a gyerek melyik iskolából jött, más és más ugyanannak a tantárgynak a neve. Például a történelem az egyik iskolában történelem és állampolgári ismeretek, a másikban történelem, társadalmi és állampolgári ismeretek, a harmadikban történelem néven szerepelt, ezért az egyes tanulók osztályzatait vagy egyik, vagy a másik, vagy a harmadik helyről kell összeszedni. És persze öt tantárgy adatait kellett a fentiek figyelembevételével összegezni és átlagolni.

 

Elég komoly függvényeket kellett összehoznom, sőt makrót is be kellett vetni ahhoz, hogy a szükséges képletet létrehozzam,  ahhoz, hogy a közel ezer felvételiző adatait összehasonlítható formában megkapjuk. 

 

Bocs az offért.

Előzmény: _Nyuszi (34552)
_Nyuszi Creative Commons License 2020.06.10 0 0 34552

És hogyan? :)

Nekem két ötletem van, így elsőre:

1. Egy külön oszlopban jelölitek a dicséretet, ami itt nem vesztek figyelembe.

2. BAL függvénnyel csak az első karaktert használjátok (pl. =BAL(A1;1) ez a bal oldalról egy karakternyi szöveget ad vissza, mondjuk a B1-be másolva).

(3. Nem osztotok dicséretet, mert az Excelt (mint alkalmazott informatikai eszközt) nehéz megtanítani rá. :) )

Előzmény: starline (34551)
starline Creative Commons License 2020.06.10 0 0 34551

Köszönöm, ha valaki szeretett volna segíteni. Már nem kell, mert másképpen oldottuk meg. :)

Előzmény: starline (34550)
starline Creative Commons License 2020.06.10 0 0 34550

Sziasztok!

 

Segítséget szeretnék kérni. Valamilyen szinten használom az Excelt, de amire most kellene ahhoz nincs ötletem. Átlagot szeretnék számoltatni, de olyan módon, hogy nem csak számok vannak a cellákban, hanem szám betűvel együtt és én csak azt szeretném, hogy csak a számot vegye figyelembe. Tantárgyi átlagokhoz kellene a táblázat és abba 5D-vel jelöljük a dicséretes 5-öst. Alapból ezeket kiveszi az átlagból a függvény. Van valamilyen lehetőség arra, hogy akár összetett függvénnyel figyelembe vegye?

 

Előre is köszönöm a válaszokat! :)

Fferi50 Creative Commons License 2020.06.09 0 0 34549

Szia!

Ezt a sort kell módosítani:

For Each cm In ActiveSheet.Comments  

Ha az A oszlopot nézed akkor

For Each cm In ActiveSheet.Range("A:A").Comments

Ha a kijelölt cellákat, akkor

For Each cm In Selection.Comments

 

Üdv.

Előzmény: JT2 (34547)
Vax Creative Commons License 2020.06.09 0 0 34548

Csak hogy lekerekítsem a végét:

A Workbook_Open eseményébe írtam a Refresh parancsot és így megúsztam rengeteg munkát.

De azért az nem nyugtat meg, hogy a Microsoft ennyire nem törődik a régi verzióval. Tudnám sorolni, hogy mennyi minden volt jobb a 2003-ban.

 

Előzmény: Vax (34546)
JT2 Creative Commons License 2020.06.09 0 0 34547

Mindenkinek köszönet a fáradozásáért. Kipróbáltam 2016-os Excelen és ott tényleg működik szóval lehet, hogy áttérek erre a 2003-as helyett, mert nem szeretnék tovább fárasztani senkit a feladattal. Esetleg kérhetnék még annyit, hogy milyen sort és hová kellene beilleszteni ahhoz, hogyha pl. csak az "A" oszlopban szeretném lefuttatni vagy csak a kijelölt cellákban?

 

Sub Megjegyzem()

    Dim sh As Shape, cm As Comment, i As Long

    For i = 1 To 2

        For Each cm In ActiveSheet.Comments

            cm.Visible = True

            Set sh = cm.Shape

            sh.Select

            DoEvents

            Application.SendKeys "^1"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{ENTER}"

            Application.SendKeys "{TAB}"

            Application.SendKeys "{ENTER}"

            cm.Visible = False

        Next

    Next

End Sub

Előzmény: Fferi50 (34527)
Vax Creative Commons License 2020.06.09 0 0 34546

Úgy tűnik, megvan a megoldás! (-:

Ezek a kimutatások .xls fájlokban vannak. Eddig hibátlanul működtek. Lehet, hogy most ez az egy dolog útban lett a Mikrofostnak. Áttettem .xlsm-be, és működik. Csakhogy ezzel két bajom is van. Egyrészt ez a rendszer 14 géppel van megosztva, közöttük mindenféle konfiguráció. A másik meg az, hogy rengeteg hivatkozást kell átírni. Az .xls egy jól bevált közös minimum volt.

Köszönöm, és üdv.

Előzmény: Fferi50 (34544)
Vax Creative Commons License 2020.06.09 0 0 34545

Sajnos nem segít. Nekem is pontosan így van, és ahogy mondtam, régebben szerkesztettem utoljára a fájlt, mint ahogy ez a jelenség fellépett. Valami Win, vagy Office frissítésre gyanakszom.

Előzmény: Fferi50 (34544)
Fferi50 Creative Commons License 2020.06.08 0 0 34544

Szia!

A beállításoknál nézd meg ezt esetleg:

Nézd meg, hogy más fájloknál jelentkezik-e ilyen probléma. (Ha ilyen jellegű fájlod, akkor csinálj hasonlót, nézd meg működik-e az automatikus frissítés.)

Üdv.

Előzmény: Vax (34543)
Vax Creative Commons License 2020.06.08 0 0 34543

Hát igen. De milyen beállításokat nézzek? A fájlokat én csináltam, és DropBoxon keresztül küldtem nekik is. Pár éve használjuk. Most nálam nem megy. Milyen beállítás ment el, és hol keressem?

Előzmény: Fferi50 (34542)
Fferi50 Creative Commons License 2020.06.08 0 0 34542

Szia!

 

"Van olyan kollégám, akinél működik. "

Akkor sürgősen össze kell hasonlítani a konfigurációkat és a beállításokat, az Excel verziókat azzal.

Üdv.

Előzmény: Vax (34541)
Vax Creative Commons License 2020.06.08 0 0 34541

A kézi frissítés működik, de megnyitáskor frissülnie kellene! Van olyan kollégám, akinél működik. Nem kaphattam (be) valami frissítést? Amíg nem frissítem, addig a részleteket kibontó és összecsukó makrók se mennek.

Run-time error'1004':

Range osztály ShowDetail tulajdonsága nem állítható be.

Miután frissítettem, megy.

Előzmény: Fferi50 (34540)
Fferi50 Creative Commons License 2020.06.08 0 0 34540

Szia!

Szerintem ha nem mentetted mostanában, akkor nincs miért frissülnie. Legalábbis így gondolhatja.

Kézi frissítés működik?

Üdv.

Előzmény: Vax (34539)
Vax Creative Commons License 2020.06.08 0 0 34539

Üdv. Mindenkinek,

Mi lehet az oka annak, hogy egyes fájokban a Pivot táblák nem frissülnek a munkafüzet megnyitásakor automatikusan, pedig be van állítva? Az utóbbi időben nem is mentettem a fájlokat.

Eddig működött hibátlanul, de pár napja valami megváltozott.

Köszönöm.

m54-b Creative Commons License 2020.06.07 0 0 34538

Sorban menti el őket.

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

Ebben a megoldásban kiderül valamiből, hogy melyik image melyik commenthez tartozik?

Előzmény: m54-b (34536)
m54-b Creative Commons License 2020.06.07 0 0 34536

A mentés weblapként megoldásról mi a véleményed? (34528)

Igaz, csak 999 sort lehet egyszerre, az image001.jpg típusú elnevezés miatt, de az nem munka, szétvágni a táblázatot.

A kimentett képek mappába betenni a következő makrót tartalmazó fájlt

 

Sub kepmeret()

j = ActiveSheet.Comments.Count
folderpath = Application.ActiveWorkbook.Path

For i = 1 To j
kepnev = Left("image000", 8 - Len(Trim(Str(i)))) + Trim(Str(i)) + ".jpg"
ActiveSheet.Pictures.Insert(folderpath + "" + kepnev).Select
With Selection
    Cells(i + 1, 4).Value = Round(.Width)
    Cells(i + 1, 5).Value = Round(.Height)
End With

Selection.Delete
Next i
End Sub

 

és a 4, 5 oszlopban megkapja a méreteket.

Talán a tévedés és mellébökés esélyét, ami a 2000 kép kézi átméretezése során előfordulhat, lenullázza.

 

Előzmény: Delila10 (34534)
Törölt nick Creative Commons License 2020.06.07 0 0 34535

Milyen sűrűn fordul elő, hogy ezeket a képes kommenteket újra kell méretezni?

Előzmény: JT2 (34533)
Delila10 Creative Commons License 2020.06.07 0 0 34534

Jól értetted.

 

 

Első lépésként a Beállításoknál, Speciális, Megjelenítés menüpontban jelöld be a Megjegyzések és jelölésük opciót. Ezzel minden megjegyzésed látszani fog, nem kell egyenként előcsalnod őket.

Mindegyiknél kiigazítod az elmászott méretet. Nincs mentség, ezt egyszer el kell végezni.

Most indíthatod a makrót, ami beírja a kijavított méreteket a C és D oszlopba.

Ha újra összekuszálódnak a méretek, már csak a második makrót kell indítanod, ami a bejegyzett méretek alapján rendet vág.

Előzmény: JT2 (34533)
JT2 Creative Commons License 2020.06.07 0 0 34533

Ha jól értem mégiscsak bíbelődnöm kellene 2000-nél több képpel akár csak egyszer is - ez rengeteg idő ....ááááááá

Ha jól értem azt kellene elérnem a makróval, hogy memorizálja minden egyes kép méretét (de lehet, hogy félreértem ezt az egészet)

....Igen most torzak a képek többnyire de ez csak akkor derül ki amikor az egérmutatót a cella fölé húzom.

Lehet, hogy amit javasolsz az nem olyan nagy meló de akkor ezek szerint én nem értem mit és hogyan kellene...ezen nem kell csodálkozni :)

Előzmény: Delila10 (34526)
JT2 Creative Commons License 2020.06.07 0 0 34532

szia!

nem felejtettem el, megtettem de nem működik

Előzmény: m54-b (34531)
m54-b Creative Commons License 2020.06.06 0 0 34531

Szerintem egy elfelejtett utasítás lesz minden baj forrás!

 

Ami feltétlenül szükséges előkészület:

Egy képen csináld meg méret helyreállítását. Ez azért kell, hogy amikor legközelebb feljön a Megjegyzés formázása ablak, akkor a Méret fül legyen felül.

 

https://forum.index.hu/Article/viewArticle?a=128109551&t=9009340

 

Ezt végrehajtva működik!

Előzmény: Fferi50 (34530)
Fferi50 Creative Commons License 2020.06.05 0 0 34530

Szia!

A 2007-esben valószínűleg más billentyűket kell használni a megjegyzés méretezéséhez.

Meg kell jegyezni milyen sorrendben mit használunk, ezután azt kell a Sendkeys paramétereiként megadni.

 

Üdv.

Előzmény: m54-b (34529)
m54-b Creative Commons License 2020.06.05 0 0 34529

(A 2007-es Excelben nem állítja vissza a képeket.)

Előzmény: Fferi50 (34527)
m54-b Creative Commons License 2020.06.05 0 0 34528

Itt található az eredeti:

 

https://forum.index.hu/Article/showArticle?t=9009340&go=128109604&p=1#128109604

 

Már akkor is felmerült a méret eltárolás. Meg egy ötlet, elmenteni weblapként, és akkor ott lesznek az eredeti képek:

image001.jpg

image002.jpg

image003.jpg

stb. szépen sorban.

Tehát ezekből a két segédoszlop könnyen létrehozható.

Már csak meg kell írni...

Előzmény: Fferi50 (34527)
Fferi50 Creative Commons License 2020.06.05 0 0 34527

Szia!

Nem elkeserítésként mondom, de nálam 2016-os excelben símán működött az eredeti makró.

Az aktuális lapon állva - Fejlesztőeszközök - makrók - kiválasztás -  indítás módon indítva. 

Ha még van olyan lehetőséged, ahol az eredeti makró működik, akkor ott indítsd el.

Ezután futtasd le Delila Eredeti_meret makróját. 

Így elvileg a sokezer képed eredeti méretei eltárolódnak.

Ezután ha új képes megjegyzést szúrsz be valahova, a megfelelő méret beállítása után állj rá a cellára és futtasd a következő makrót:

Sub Eredeti_meretuj()

    Dim sh As Shape, cm As Comment, sor As Long

    With Selection

    sor=selection.row

    set cm =.Comment

        Set sh = cm.Shape

        With sh

            Cells(sor, "C") = .Width

            Cells(sor, "D") = .Height

        End With

    End With

End Sub

Ez a cella sorába beírja az eredeti méretet.

(Ezt minden beszúrással külön-külön kell megcsinálnod.)

 

Üdv.

Előzmény: JT2 (34525)
Delila10 Creative Commons License 2020.06.05 0 0 34526

"2000-nél is több képet kellene egyesével átállítanom."

Nem. Egyszer kell megadnod a megjegyzések megfelelő méretét egyenként, mert most torz képeid vannak (ha jól értem).

Ezeket a javított méreteket az első makró beírja 2 cellába.

Minden torzulás után csak indítanod kell a második makrót, ami helyreállítja az összes méretet.

A többi oszlop megjegyzéseivel könnyen lehet bővíteni a makrókat.

Előzmény: JT2 (34525)
JT2 Creative Commons License 2020.06.05 0 0 34525

Nagyon értékelem az igyekezeted de ez nem lesz jó. Azt is megmondom miért. Félrevezető lehet, hogy a feltöltött minta.xls csak 2 oszlopot és 5 sort tartalmaz de a valóságban 10 oszlop van és 2000 sor így 2000-nél is több képet kellene egyesével átállítanom. Ez még a korábban működő makrónak is ~1-2 percbe tellett. OK, értem - csak egyszer kell megcsinálni - de a képek mérete azt hiszem attól szokott elállítódni ha szűröm a cellákat valamilyen feltétel szerint vagy másik oszlop szerint rendezek sorba, továbbá egyes cellákat néha törlök vagy más munkafüzetbe kerülnek át így nem hiszem, hogy ez a megoldás (kielégítően) működne. A 34517-esbe beillesztett makrón semmit nem változtattam. Sokáig működött (egyszer csak nem) ezért gondoltam, hogy létezik megoldás, de sajnos úgy tűnik ez most mindenkin kifog. És csak ismételni tudom magam, hogy nagyon értékelem az igyekezeted, hogy időt szántál rám de valami praktikusabb megoldás kellene. Még egyszer köszönöm!

Előzmény: Delila10 (34524)
Delila10 Creative Commons License 2020.06.04 0 0 34524

Az alsó makróban nem kell a cm.Visible = True sor, hiszen a makró elején az Application.DisplayCommentIndicator = xlCommentAndIndicator láthatóvá tette az összes megjegyzést.

Előzmény: Delila10 (34523)
Delila10 Creative Commons License 2020.06.04 0 0 34523

Egyszer kell megcsinálnod. Tedd láthatóvá a megjegyzéseket, a nem jó méretűeket méretezd át egérrel.

Futtasd le az Eredeti_meret makrót. Ez beírja a C és D oszlopokba a szélesség és magasság méreteket. Teheted a méreteket más oszlopokba is, de akkor a második makrónál is azt kell alkalmaznod.

 

Sub Eredeti_meret()

    Dim sh As Shape, cm As Comment, sor As Long

   

    sor = 2

    For Each cm In ActiveSheet.Comments

        Set sh = cm.Shape

        With sh

            Cells(sor, "C") = .Width

            Cells(sor, "D") = .Height

        End With

        sor = sor + 1

    Next

End Sub

 

 

Ezt akkor indítsd, ha „elmásztak” a méretek.

 

Sub Meret_Visszaallitas()

    Dim sh As Shape, cm As Comment, sor As Long

   

    Application.DisplayCommentIndicator = xlCommentAndIndicator

    sor = 2

    For Each cm In ActiveSheet.Comments

        cm.Visible = True

        Set sh = cm.Shape

        With sh

            .Width = Cells(sor, "C"): .Height = Cells(sor, "D")

        End With

        sor = sor + 1

    Next

    Application.DisplayCommentIndicator = xlCommentIndicatorOnly

End Sub

Előzmény: JT2 (34522)
JT2 Creative Commons License 2020.06.04 0 0 34522
Előzmény: JT2 (34521)
JT2 Creative Commons License 2020.06.04 0 0 34521

úgy látszik fejlődöm, mert mielőtt olvastam volna a válaszod ezt műveltem:

 

Sub Megjegyzes()

Dim sh As Shape, cm As Comment
For Each cm In ActiveSheet.Comments
cm.Visible = True
Set sh = cm.Shape
sh.Select
Selection.AutoSize = True
cm.Visible = False
Next

End Sub

 

Itt már nem jelez hibát, lefut a makró de nem azt teszi, amit kellene.

Az összes kép méretet kicsire állítja, de érzem, hogy jó fele tapogatózunk.

Előzmény: Fferi50 (34520)
Fferi50 Creative Commons License 2020.06.04 0 0 34520

Szia!
Szerintem kell bele egy 

cm.visible=True 

sor.

Mert csak a látható megjegyzést tudja formázni. És persze a végén ismét láthatatlanná kell tenni.

 

Sub Megjegyzes()

    Dim sh As Shape, cm As Comment

   

    For Each cm In ActiveSheet.Comments

        cm.visible=True

        Set sh = cm.Shape

        sh.Select

        Selection.AutoSize = True

        cm.visible=False

    Next

End Sub

 

 

Üdv.

Előzmény: JT2 (34519)
JT2 Creative Commons License 2020.06.04 0 0 34519

szia!

 

Köszönöm a gyors választ.

Tetszik a rövidsége.

Kipróbáltam, amit küldtél de az sh.Select sornál megáll, valamiért nem tetszik neki.

Esetleg töltsek fel egy minta.xls-t? Az megkönnyítené a munkát?

Előzmény: Delila10 (34518)
Delila10 Creative Commons License 2020.06.03 0 0 34518

Esetleg ez?

 

Sub Megjegyzes()

    Dim sh As Shape, cm As Comment

   

    For Each cm In ActiveSheet.Comments

        Set sh = cm.Shape

        sh.Select

        Selection.AutoSize = True

    Next

End Sub

Előzmény: JT2 (34517)
JT2 Creative Commons License 2020.06.03 0 0 34517

Üdv mindenkinek!


Egyetlen makróra lenne szükségem és mivel csak ez az egy érdekel nem szántam magam rá a Visual Basic mélyebb elsajátítására így külső segítségre van szükségem.
Korábban kb. 10 éve valamelyikőtök már segített ebben és írt egy rövid makrót, ami évekig remekül működött de egy ideje már nem működik.
(a bánat tudja miért pedig nem tudok róla, hogy bármit változtattam volna rajta)

 

- Office 2003-at használok (nem tévedés... 2003)
- a megjegyzésekbe képeket ágyazok a következő módon:

 

01 cella kijelöl
02 egér jobb klikk
03 megjegyzés beszúrása
04 megjelenő ablak keretére dupla klikk
05 színek és vonalak (lenyíló fül)
06 szín
07 kitöltési effektus
08 kép
09 képválasztás
10 beszúrás
11 ok
12 ok
13 ablak keretére dupla klikk
14 méret
15 alaphelyzet
16 ok

 

Innentől ha a cella fölé viszem az egérmutatót a beágyazott kép előugrik.
A gond csak az, hogy időnként valamilyen ok miatt a képek méretének alaphelyzete elállítódik és egyesével visszaállítani óriási és felesleges munka lenne mivel újra el fog állítódni.
Ez nem is lenne baj, mert a makró meg tudja ezt oldani pillanatok alatt(ha van).
A képek mérete eltérő. Nem nagyok de az oldalarányaik eltérőek.


Tehát a feladat röviden az lenne, hogy egy makró az aktív munkafüzetben alaphelyzetbe állítsa a beágyazott képek méreteit.


példának okáért idemásolom azt a makrót a neve "Sub Megjegyzem", ami már nem működik hátha valaki észreveszi mi lehet a hiba és azt átírva megoldódik a probléma de lehet, hogy tudnátok jobb megoldást, nekem mindegy.

 

***********************************************
Sub Megjegyzem()
Dim sh As Shape, cm As Comment, i As Long
For i = 1 To 2
For Each cm In ActiveSheet.Comments
cm.Visible = True
Set sh = cm.Shape
sh.Select
DoEvents
Application.SendKeys "^1"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
Application.SendKeys "{TAB}"
Application.SendKeys "{ENTER}"
cm.Visible = False
Next
Next
End Sub


***********************************************


sok sikert!
hajrá :)

pimre Creative Commons License 2020.05.29 0 0 34516

Köszönöm a kérdést. Nem ez volt ugyan a megoldás, de adtál egy inspirációt. Megtaláltam az eltérés okát.

 

Az eredmény megdöbbentő, váratlan és tanulságos:

 

Kezdem azzal, hogy a végrehajtás sorrendje mégsem tér el a két helyen. Az csak a látszat volt. Egészen pontosan először végrehajtódik a BeforUpdate, aztán a cmdMegse_Click, majd rejtélyes okból ismét a BeforeUpdate. Csak baromi nehéz követni őket, mert olyanok, mint a kvantumrészecskék. Ha megfigyelem őket (jelen esetben megszakítom a futást, és lépésenként nézem), akkor másképp viselkednek. Debug.print "Itt vagyok" és hasonló beszúrásokkal lehet valamennyire nyomon követni a bejárt utat.

 

Szóval az a bizonyos Mégse nevű CommandBoxra kattintás volt a kulcsa a dolognak. A "rosszul viselkedő" Userformon magát a cmdMegse gombot szépészeti okokból az oldal alján középre helyeztem el. Amikor a textbox beadást nem félbehagyom, hanem befejezem, akkor beforaUpdate-ban kiíratom mellé a mentést lehetővé tevő cmdMentes gombot. De hogy szép maradjon az utóbbit középtől kicsit balra, a cmdMegse gombot ugyanennyivel kicsit jobbra igazítom a cmdMegse.left = xxx paranccsal.

És ez volt az eltérés oka! Úgy látszik, hogy ezt a kis elmozdulást értelmezte úgy a program, hogy ha már elment onnan akkor nem is kell végrehajtani. (Emberi kapcsolatokból sok példa van erre: Ha nem várt meg, akkor az ő baja...)

Abban a pillanatban, amikor ezt a parancsot töröltem, a cmdMegse rendben végrehajtódott.

Előzmény: Fferi50 (34515)
Fferi50 Creative Commons License 2020.05.29 0 0 34515

Szia!

Milyen események vannak még a textboxhoz rendelve?

Ez egyforma mindkét formnál?

Továbbá mi van a textbox meghívás előtt?

Üdv.

Előzmény: pimre (34514)
pimre Creative Commons License 2020.05.29 0 0 34514

Van két Userformom. Mindkettő egy Textbox kitöltésével kezd, ahol egy elnevezést kell megadni. Ebből a név megadás befejezésével (Enter/Tab) lehet kilépni, vagy a Mégse nevű CommandBoxra kattintva. Szeretek arra felkészülni, hogy ha a felhasználó a név megadása közben  meggondolja magát, és a Mégse gombra kattintva félbe akarja hagyni a megkezdett munkát, mert mondjuk most vette észre, hogy nem erre a Formra akart lépni.

 

Elvileg (hitem szerint) azonosak a feltételek, mégis az egyiknél - a Mégse eseményre ugrás előtt - befejezi a névhez tartozó kilépés előtti ellenőrzést, a BeforeUpdate eseményt, a másiknál előbb a cmdMegse_Click eseményre ugrik a vezérlés, és csak aztán a  BeforeUpdate-ra (a szándékom mindkettőnél az utóbbi lenne).

 

(Sajnos a BeforeUpdate eseményt nem tudom mással kiváltani, szükséges egy-egy Textbox beadása után, kilépés előtt bizonyos ellenőrzéseket elvégezni)

 

A kettő közti különbség azért nem mindegy, mert ha előbb lépek a Mégse eseményre, ott tudom jelezni a BeforeUpdate-nek (például egy .TAG-be írt üzenettel, hogy most nincs dolga az ellenőrzéssel.

 

Vajon mi lehet az általam észrevehetetlen különbség a kétféle lefutás között. Tudom, hogy a kód ismerete nélkül nemigen lehet erre válaszolni, de hátha valakinek volt hasonló megfigyelése, ahol kiderült a különbség.

 

Eredő Vektor Creative Commons License 2020.05.28 0 0 34513
Előzmény: Myth22 (34511)
pimre Creative Commons License 2020.05.28 0 1 34512

A1-be a szám

B1-be =VAGY(A1=40;A1=41)

 

Előzmény: bob lee SWAGGER (34510)
Myth22 Creative Commons License 2020.05.28 0 0 34511

Csatolt képen kékkel jelölt résszel akadt problémám. Kezdődik egy autó szűrővel. Jól működik a dolog egészen addig amíg a szűrésre van találat. Abban az esetben csak a találatokat kijelöli és másolja. Viszont ha nincs találat a szűrésre akkor a szűrés intervalluma alatti cellakat, több százezer sort is átmásolja. Van lehetőség beiktatni valami ha fuggvenyt, hogy amennyiben nincs a szűrésnek találata ne másoljon hanem hagyjon ki bizonyos lépéseket?

 

bob lee SWAGGER Creative Commons License 2020.05.28 0 0 34510

kellene egy kis excel ha segitseg

adott egy oszlop  2jegyu szamokkal ha 40 41 dobjon igent amugy nemet. tudnatok ebben segiteni?

Redlac Creative Commons License 2020.05.25 0 0 34509

Jimmy, ez tökéletesen működik.

 

Köszönöm az utánajárást, elemezgetést, az alkotást, az idődet :-)

Előzmény: Törölt nick (34507)
Törölt nick Creative Commons License 2020.05.25 0 0 34508

Ja bocs, bent hagytam két feedback funkciójú sort:

 

Application.StatusBar = CountTotalQueries & " - " & CStr(StartOver)

Application.StatusBar = False

 

ezek törölhetők, ha gondolod.

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

Letöltöttem ezt a filezilla cuccot, és - felhasználva némi netes szakirodalmat - elemezgettem az indulását.

Arra nem találtam infót, hogyan kell egyértelműen lekérdezni a Filezilla státuszát, viszont azt vettem észre, hogy a Filezilla processz egyes paraméterei az indítás után egy darabig változnak, aztán egy bizonyos értéken stabilizálódnak.

Ezekről van szó:

 - PageFileUsage

 - PrivatePageCount

 - QuotaPagedPoolUsage

 - ThreadCount

 - VirtualSize

 

Úgy okoskodtam, hogy a stabilizálódáshoz szükséges idő valószínűleg a futtató hardver teljesítményétől és leterheltségétől függ, és ha már minden paraméter stabil, akkor a FileZilla biztosan tudja fogadni a SendKeys parancsokat.

 

Írtam tehát egy kódot, ami figyeli a fenti paraméterek értékét, és ha mind az 5 figyelt paraméter 10 egymást követő lekérdezés alatt stabilan állandó marad, akkor azt mondjuk, hogy az alkalmazás elindult.

Ha a 10-et soknak találod, lehet csökkenteni: csak állítsd át a CountQuery konstans értékét kisebbre.

A másik konstans egy biztonsági korlát, hogy ha N db (jelenleg 100) lekérdezés alatt sem állnak be a paraméterek, akkor álljon le a figyeléssel. Nálam mindig kb. 30 lekérdezés után stabilizálódott az 5 paraméter.

 

Sub FileZillaStarter()
    Const CountQuery = 10, QueryInterruptLimit = 100

    Dim strComputer  As String, objSWbemServices  As Object, colServices As Object, objService As Object, myProp As Object, WshShell As String
    Dim arrProps, iQuery As Long, iProp As Long, StartOver As Boolean, CountTotalQueries As Long

    strComputer = "."
    ReDim arrProps(1 To 5)
    Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    WshShell = Shell("Elérési út\FileZillaPortable.exe", vbMinimizedFocus)
    Do
        StartOver = False
        For iQuery = 1 To CountQuery
            Set colServices = objSWbemServices.ExecQuery("select * from win32_process where name='FileZillaPortable.exe'")
            CountTotalQueries = CountTotalQueries + 1
            Application.StatusBar = CountTotalQueries & " - " & CStr(StartOver)
            For Each objService In colServices
                iProp = 0
                For Each myProp In objService.properties_
                    Select Case myProp.Name
                    Case "PageFileUsage", "PrivatePageCount", "QuotaPagedPoolUsage", "ThreadCount", "VirtualSize"
                        iProp = iProp + 1
                        If arrProps(iProp) <> myProp.Value Then
                            arrProps(iProp) = myProp.Value
                            StartOver = True
                        End If
                    End Select
                Next
            Next
        Next
        DoEvents
    Loop Until (StartOver = False) Or (CountTotalQueries > QueryInterruptLimit)
    If CountTotalQueries > QueryInterruptLimit Then
        MsgBox "belefáradtam a várakozásba"
    Else
        MsgBox "az Applikáció elindult és stabil"
    End If
    Application.StatusBar = False
End Sub

 

Hangsúlyozom, hogy ez nem egy egzakt megoldás. Nem a tényleges státuszt kérdezem le, hanem különböző státusz-indikátorokat, amelyek vagy jól indikálnak, vagy nem.

Aztán az sem biztos, hogy más rendszereken lefut-e egyáltalán a kód. A saját Win7-es gépemen teszteltem, de ha pl. Win10 rendszeren a monitorozott processz-paraméterek neve más, és akkor máris nem fog működni.

 

Előzmény: Redlac (34506)
Redlac Creative Commons License 2020.05.25 0 0 34506

Ahogy elindul a FileZilla megnyitása, dobja az msgbox-ot, nem várja meg a teljes megnyitást :-(

 

így sendkeys-re cserélve a beírandót elszórja.

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

Csak az egyértelműség kedvéért: a lenti kód megvárja, míg a filezilla elindul, és csak utána hajtja végre a következő műveletet. Ha jól értettem a korábbi posztokból, valami ilyesmire van szükséged.

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

Esetleg valami ilyesmi:

 

Sub exampleIsProcessRunning()
   Dim WshShell As String
   WshShell = Shell("Elérési út\FileZillaPortable.exe", vbMinimizedFocus)
   While Not IsProcessRunning("FileZillaPortable.exe")
        Debug.Print "waiting - " & Now                                            'ez a sor törölhető, csak dísznek van
        Application.Wait Now + TimeSerial(0, 0, 0.1)                        'ez a sor törölhető, csak dísznek van
        DoEvents                                                                              'ez a sor lehetővé teszi, hogy meg tudd szakítani a futást Crtl+Break segítségével, ha túl hosszúra nyúlna a végrehajtás (vagy ha végtelen ciklusba kerül a program)
   Wend
   MsgBox "process started OK"
End Sub

Function IsProcessRunning(process As String)
   Dim objList As Object
   Set objList = GetObject("winmgmts:") _
      .ExecQuery("select * from win32_process where name='" & process & "'")
   If objList.Count > 0 Then
      IsProcessRunning = True
   Else
      IsProcessRunning = False
   End If
End Function

 

Előzmény: Redlac (34503)
Redlac Creative Commons License 2020.05.25 0 0 34503

Tudnál segíteni, hogy miként változtassam meg, ha azt szeretném vizsgálni, hogy elindult-e a FileZilla?

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

Nekem ez egy végtelen ciklusnak tűnik:

 

ujra:

   If objList.Count = 1 Then
      AppActivate "FileZilla"
      Application.Wait Now + TimeValue("00:00:01")
      Application.SendKeys "proba"
   Else

      GoTo ujra
   End If

 

Ha egyszer rámegy az Else ágra, ott már semmi nincs, ami a vizsgált feltételt megváltoztatná, szóval újra és újra az Else ágra fog menni.

Előzmény: Redlac (34496)
Eredő Vektor Creative Commons License 2020.05.24 0 0 34501

bocs, nem olvastam vissza :(

Előzmény: Redlac (34500)
Redlac Creative Commons License 2020.05.24 0 0 34500

igen, ezt korábban is ajánlották, de az nem jó.

nálunk nem állandó kapcsolatot kell létesíteni, hanem a 60-70 eszközhöz IP cím, felhasználónév, jelszó alapján kell csatlakozni

Előzmény: Eredő Vektor (34499)
Eredő Vektor Creative Commons License 2020.05.24 0 0 34499

Az előző hsz-ben elfelejtettem megemlíteni még, hogy tudsz ftp-hez kapcsolódni közvetlenül VBA-val is.

Nem egyszerű, találni jó leírásokat.

 

Előzmény: Redlac (34496)
Eredő Vektor Creative Commons License 2020.05.24 0 0 34498

Szia,

 

Miért kell a FIlezilla?

Miért nem mountálod az ftp szervert a windowsban önálló meghajtóként?

Kap egy betűjelet és kész...

Erre talán alkalmas a Windows is önmagában - de van több ingyenes eszköz erre a neten is.

Előzmény: Redlac (34496)
pimre Creative Commons License 2020.05.24 0 0 34497

Ez a szint már meghaladja az ismereteimet, így le kell állnom. Remélem, lesz aki hozzá tud tenni valamit. Mindenesetre bízom benne, hogy összejön majd, amit szeretnél.

Előzmény: Redlac (34496)
Redlac Creative Commons License 2020.05.24 0 0 34496

Köszi a tesztelést, próbálgattam én is, de nálam a te frissebb verziód nem érzékelte e Word-öt, a korábbi viszont igen :-)

Viszont a FileZilla programot nem érzékeli. 

Keresgéltem tovább, és találtam egy másikat a neten:

https://stackoverflow.com/questions/29807691/determine-if-application-is-running-with-excel

 

Sub exampleIsProcessRunning()
   Debug.Print IsProcessRunning("MyProgram.EXE")
   Debug.Print IsProcessRunning("NOT RUNNING.EXE")

End Sub

 

Function IsProcessRunning(process As String)
   Dim objList As Object

   Set objList = GetObject("winmgmts:") _
      .ExecQuery("select * from win32_process where name='" & process & "'")

   If objList.Count > 0 Then
      IsProcessRunning = True
   Else
      IsProcessRunning = False
   End If

End Function

 

Ezt elsőre átalakítottam így:

 

Sub exampleIsProcessRunning()
   Debug.Print IsProcessRunning("FileZilla.exe")
End Sub

 

Function IsProcessRunning(process As String)
   Dim objList As Object

   Set objList = GetObject("winmgmts:") _
      .ExecQuery("select * from win32_process where name='" & process & "'")

   If objList.Count = 1 Then
      AppActivate "FileZilla"
      Application.Wait Now + TimeValue("00:00:01")
      Application.SendKeys "proba"
   Else
      MsgBox "A FileZilla nem fut"
   End If

End Function

 

Ez így tökéletesen érzékelte :-)

 

Nálam a makró egyéb dolgokat is csinál az elején, ezért úgy terveztem, hogy amikor indítom a makrót, akkor abból indul a FileZilla is, majd (amíg indul a FileZilla), addig megcsinálja az egyéb feladatot (egy mappa létrehozást és másolást), majd átfókuszál a FileZillára és beírja oda, amit kell. 

Ezért betettem ennek az elejére, hogy indítsa a FileZillát:

 

Sub exampleIsProcessRunning()

   Dim WshShell As String
   WshShell = Shell("E:FileZillaPortableFileZillaPortable.exe", vbMinimizedFocus)

   Debug.Print IsProcessRunning("FileZilla.exe")
End Sub

 

Function IsProcessRunning(process As String)
   Dim objList As Object

   Set objList = GetObject("winmgmts:") _
      .ExecQuery("select * from win32_process where name='" & process & "'")

   If objList.Count = 1 Then
      AppActivate "FileZilla"
      Application.Wait Now + TimeValue("00:00:01")
      Application.SendKeys "proba"
   Else
      MsgBox "A FileZilla nem fut"
   End If

End Function

 

Ez így indította is, de lassabban indult a FileZilla, mint ahogy a makró a checkrészhez ért, ezért kiírta, hogy nem fut.

Akkor arra gondoltam, hogy mi lenne, ha az Else ágnál tennék egy Goto-t, és újra ellenőrizné a FileZilla futását.

 

Sub exampleIsProcessRunning()

   Dim WshShell As String
   WshShell = Shell("E:FileZillaPortableFileZillaPortable.exe", vbMinimizedFocus)

   Debug.Print IsProcessRunning("FileZilla.exe")
End Sub

 

Function IsProcessRunning(process As String)
   Dim objList As Object

   Set objList = GetObject("winmgmts:") _
      .ExecQuery("select * from win32_process where name='" & process & "'")

ujra:

   If objList.Count = 1 Then
      AppActivate "FileZilla"
      Application.Wait Now + TimeValue("00:00:01")
      Application.SendKeys "proba"
   Else

      GoTo ujra
   End If

End Function

 

A FileZillát indította, majd lefagyott az Excel :-)

 

Valamit nem jól csinálok :-D

 

Előzmény: pimre (34495)
pimre Creative Commons License 2020.05.24 0 0 34495

Most egyszerűsítettem és kipróbáltam:

 

Option Explicit

Private Sub ProgramKeres()

Dim x As Variant

Dim Path As String

If ProgramFut("Word.Application") Then

    MsgBox "A Word fut."

Else

    MsgBox "A Word nem fut."

End If

End Sub

 

Function ProgramFut(ProgNeve As String) As Boolean

Dim prog As Object

On Error Resume Next

Set prog = GetObject(ProgNeve)

If Not prog Is Nothing Then

    ProgramFut = True

End If

On Error GoTo 0

End Function

 

A Word.Application-al jól dolgozik. Egy saját xlsm fájllal szintén - a pontos elérési út és fájlnév megadásával szintén érzékelte, hogy meg van-e nyitva.

Probálkoztam egy CProgramfájlok(x86) könyvtárban lévő programmal, de ott nem érzékelte, ho.gy meg van nyitva. De az is lehet, hogy az én hibám volt, mert nem jól alkalmaztam a GetObject függvényt

Előzmény: pimre (34494)
pimre Creative Commons License 2020.05.23 0 0 34494

És aktualizáltad a saját feladatodra, valahogy így?

 

A felesleges sorokat megjegyzésbe tettem

 

Private Sub btnSearch_Click()

Dim x As Variant

Dim Path As String

 

If Not IsAppRunning("Word.Application") Then

        ' Path = "C:\Tmp\MyProgram.exe"

        ' x = Shell(Path, vbNormalFocus)

         itt kellhet a sendkeys küldés

End If

End Sub

 

Function IsAppRunning(sAppName As String) As Boolean

Dim oApp As Object

On Error Resume Next

Set oApp = GetObject(, sAppName)

If Not oApp Is Nothing Then

    Set oApp = Nothing

    IsAppRunning = True

End If

On Error GoTo 0

End Function

 

Persze ezt sem próbáltam ki, ahhoz több idő kellene.

Előzmény: Redlac (34493)
Redlac Creative Commons License 2020.05.23 0 0 34493

Hát, megnéztem, próbáltam, de semmi.

A kód alatt írogatják, hogy milyen jól működik, nálam viszont így változatlanul is hibára fut :-(

Előzmény: pimre (34485)
Törölt nick Creative Commons License 2020.05.23 0 0 34492

Sziasztok!

 

Teljesen exel analfabéta vagyok és nem bírok erre megoldást találni. Egy ilyen formátumú adathalmazból hogyan készíthető egyszerűen dátum vonal diagram külön minden gyümölcsre?

Tehát 3 darab diagram, külön az almára, körtére és eperre, amelyek mutatják vizuálisan, hogy melyik napokon mennyi ment el belőle.

 

thomas5000 Creative Commons License 2020.05.23 0 0 34491

Ezaz! Köszi szépen!

Előzmény: pimre (34490)
pimre Creative Commons License 2020.05.23 0 0 34490

Esetleg így: =ÉS($A1=$B1;$B1=$C1)

 

Előzmény: thomas5000 (34489)
thomas5000 Creative Commons License 2020.05.23 0 0 34489

Az egymásba ágyazott ha függvény működik, csak próbáltam extra cellák nélkül megoldani, de akkor ez sajnos nem nagyon megy.
Nem baj, így is jó lesz. Köszönöm a segítséget.

Előzmény: thomas5000 (34488)
thomas5000 Creative Commons License 2020.05.23 0 0 34488

Valamiért hamis eredményre jut, akkor is, ha mindhárom azonos.

Előzmény: pimre (34487)
pimre Creative Commons License 2020.05.23 0 0 34487

A képlet: HA(A1=B1 & B1=C1;egyik teendő,másik teendő)

Előzmény: thomas5000 (34486)
thomas5000 Creative Commons License 2020.05.23 0 0 34486

Sziasztok!

 

Feltételes formázáshoz szeretnék segítséget kérni.

 

Azt szeretném megoldani, hogyha az A, B és C oszlopban egyező érték van, akkor mindhárom cellában legyen félkövér.

Tehát A1="valami" , B1="valami" , C1="valami", akkor A1,B1 és C1 is félkövér legyen. Ha bármelyik is eltérne, akkor semmi.

 

2 cellára sima ügy, működik is.

 

=$A1=$B1

Viszont, ha a harmadikat is bele akarom venni: =$A1=$B1=$C1 , ezt már az excel máshogyan értelmezi.

 

Nyílván van erre megoldás, csak én nem tudom.

 

Ha valaki segíteni, hálás lennék.

 

Előre is köszönöm.

pimre Creative Commons License 2020.05.23 0 0 34485

Itt megvan az IsApprunning függvény hozzá: http://vbadud.blogspot.com/2007/04/generic-function-to-check-if.html

Hogy jó-e, azt nem ellenőriztem, de hátha.

Előzmény: Redlac (34484)
Redlac Creative Commons License 2020.05.23 0 0 34484

Sziasztok!

 

Egy program futását szeretném figyeltetni, mert ha elindult (kiszámíthatatlan az elindulási ideje, 2-10 sec között), akkor adjon át sendkeys-t.

Találtam a neten ezt a kódsort, de az IsApprunning-ra hibát dob (sub or funkcion not defined).

 

Private Sub btnSearch_Click()
Dim x As Variant
Dim Path As String

If Not IsApprunning("Word.Application") Then
Path = "C:TmpMyProgram.exe"
x = Shell(Path, vbNormalFocus)
End If
End Sub

 

 

m54-b Creative Commons License 2020.05.22 0 0 34483

Egy bejegyzés erejéig visszatérve a tizedesponttal jelölt számok kérdésére.

 

Ezt találtam:

 

Sub tizedespont_vesszo()

[A:A].Select
    With Selection
    .NumberFormat = "General"
    .Value = .Value
    End With

End Sub

 

Vegyesen levők esetén (vagy, ha csak szövegként levő szám van)

 

 

lecserélve a vesszőt pontra, majd a fenti eljárással számmá alakítva jó lesz

 

Sub szovegszambol_szam()

 x = LastRowColumn(ActiveSheet, "column")
 y = LastRowColumn(ActiveSheet, "row")
    
    ActiveSheet.Range(Cells(1, 1), Cells(y, x)).Select
        Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
   With Selection
    .NumberFormat = "General"
    .Value = .Value
    End With

End Sub

Function LastRowColumn(sht As Worksheet, RowColumn As String) As Long
'PURPOSE: Function To Return the Last Row Or Column Number In the Active Spreadsheet
'INPUT: "R" or "C" to determine which direction to search
' forrás: https://www.thespreadsheetguru.com/blog/2014/7/7/5-different-ways-to-find-the-last-row-or-last-column-using-vba

Select Case LCase(Left(RowColumn, 1)) 'If they put in 'row' or column instead of 'r' or 'c'.
  Case "c"
    LastRowColumn = sht.Cells.Find("*", LookIn:=xlFormulas, SearchOrder:=xlByColumns, _
    SearchDirection:=xlPrevious).Column
  Case "r"
    LastRowColumn = sht.Cells.Find("*", LookIn:=xlFormulas, SearchOrder:=xlByRows, _
    SearchDirection:=xlPrevious).Row
  Case Else
    LastRowColumn = 1
End Select

End Function

 

2007-es Excelben teszteltem.

Eredő Vektor Creative Commons License 2020.05.22 0 0 34482

Bocs, ez független a exceltol. Be kell. Masolni a kodot. 

Előzmény: Eredő Vektor (34481)
Eredő Vektor Creative Commons License 2020.05.22 0 0 34481
Előzmény: pimre (34480)
pimre Creative Commons License 2020.05.22 0 0 34480

Az Excel makróm leállt valami egész rejtélyes rendszerhibával (Nem mélyedtem el a hibaüzenetben, mert valami számomra értelmezhetetlen hibára utalt, ami nem a programomból adódik). Viszont nemcsak leállt, hanem kikapcsolt az Excel, majd újraindult megnyitva a munkafüzetet.

 

Nem bíztam ebben, és kértem a nem mentett fájlok megmutatását, amit meg is kaptam, és a mentési idő egy néhány perccel korábbi állapot volt. Ezt mentettem új néven, de megőriztem az utoljára kb. fél órával korábbi fájlt.

 

A frissen használt és a korábbi munkafüzet aktuális Useform kódjait Word-ben lementetten, összehasonlítottam, és nem láttam eltérést. 

 

Erről jutott eszembe, hogy létezik-e olyan szoftver, amelyik munkafüzetek kódjait összehasonlítja? Mert aggódom, hogy a leállás nem okozott-e máshol is zavart, de ehhez kényelmesebb lenne az összehasonlítás egyben, mint az egyes Formok, modulok páronkénti összenézése. 

Eredő Vektor Creative Commons License 2020.05.22 0 0 34479

1. A nézetnel kapcsolj át oldaltörés nezetre. A kék vastag vonalakat meg tudod fogni egérrel és mozgatni.

2. A képeknek van olyan beállítása, hogy az objektum helye és mérete nem változik. Ez kell neked szrtem

Előzmény: ENGINEER (34478)
ENGINEER Creative Commons License 2020.05.21 0 0 34478

Sziasztok!

 

Két dolgot kellene megoldanom.

 

1. Amikor egy hosszabb szöveg kerül egy cellába, mivel nem lehet cellán belül oldalt törést csinálni nyomtatáskor (és pdf létrehozáskor), a cellák egyesítése funkciót használom. Csakhogy nem tudom hogyan állítsam be azt hogy egy-egy cella magassága pont egy sor töréshelyén legyen. Ez azért lenne fontos hogy minden oldalt jó lenne teljesen kitölteni, így a sok szöveges cellát pont az oldal alján szeretném megtörni.

 

2. Bármilyen fotót vagy objektumot illesztek be Excel-be, akkor lesz nyomtatáskor (és pdf létrehozáskor) jó a szélesség-magasság arány (magyarul marad egy kör, kör alakú) ha a magasságot ~4% -al nagyobbra teszem mint a szélességet. Nem tudom miért csinálja...

 

Köszönöm az ötleteket.

 

E.

Eredő Vektor Creative Commons License 2020.05.21 0 0 34477

ez tök jó :)

Előzmény: Delila10 (34466)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34476

Csak a cella vonalára lehet oldaltörést tenni. Cellákat egyesítve tudsz esetleg játszani, mert azokat megtörheti. 

Előzmény: ENGINEER (34475)
ENGINEER Creative Commons License 2020.05.21 0 0 34475

Sziasztok!

 

Egyszerű kérdésem van. Hogy tudom megoldani hogy az Excel cellán belül is törje a lapot nyomtatáskor? (Oldaltörés soron belül is lehet)

 

Köszönöm,

 

E.

Delila10 Creative Commons License 2020.05.21 0 0 34474

A for-next ciklusban az egyes lapokon belül megkereshetnéd a fejezetek címeit – gondolom, ezek másik oszlopban vannak, mint a tartalmuk –, és ezeket is beírathatnád a tartalomjegyzék következő oszlopába.

A tart.jegyzék soraihoz felvehetnél egy változót, amit minden fő- és alcím beírása után növelnél eggyel.

Előzmény: magyarpityu (34471)
bolygohollandi1 Creative Commons License 2020.05.21 0 0 34473

OFF

 

Hmm....köszönöm szépen; ez érdekes volt..:)

 

A helyzet az, hogy nekem az egyetem óta (és az jó régen volt) egyáltalán nem kellett térgeometriával foglalkoznom, így most próbálom újra beleélni magamat a témába, de azzal, hogy a Földön hogy lehet "helymeghatározni", végképp soha nem foglalkoztam. Most kezdem egyáltalán azt komolyan megérteni, mi is az a szélességi és hosszúsági fok ..:)

Így aztán nem is nagyon akartam egy pasi problémáját - ezt a Google Eath - Excel kapcsolatot - megoldani, de el kezdett érdekelni ahogy belenéztem és most már bosszant, hogy nem tudom a "körömet" megcsinálni :)

 

Na megyek, beleásom magam ebbe a problémakörbe és majd jövök, hogy sikerült-e megoldani a kérdést

Köszönöm még egyszer mindenkinek!

 

ON

 

Előzmény: Eredő Vektor (34472)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34472

Az a helyzet, hogy engem spec. piszkosul érdekel a térgeometria. Ami tapasztalatom van, az ms sql-es téma. Nyilván ez ráfed a táblázatkezelőkre is nagyjából. Egy dologban viszont nem: Mssql-ben létezik geometrikus adattípus, míg excelben ez nincs támogatva.

 

Ez az adattípus lehet kiterített (geometrikus) és gömb (geografikus) tartalmazhat szinte mindent ami megvan a GE-ben vízrajz, domborzat, települések, határvonalak stb...

Én ezeket Arcgis + PostgreSQL-el szedtem fel, viszont csak Magyarországot. Ezek az adatok sql szerverre feltölthetőek, rétegezhetőek joinokkal. A térkép részletességétől függően komoly rekordszám keletkezik, főleg a poligonok miatt. Ez egy világtérképre....

Amit valósan csináltam is ezekkel: Megyehatárokon (poligonok) belül egyetlen metódussal kilistázható az összes benne lévő település, vagy akár a megyehatárokon x km-es közelében lévő település. A lehetőségek száma határtalan. Lehet a térképe kört rajzolni és a kör mentén lévő településeket listázni, vagy bármelyik rétegből bármit.

 

vmilyen ARCGIS szoftverrel képes e kapcsolatot teremteni azt nem tudom... biztos vagyok benne hogy lehet.

 

Csak hátha ez a vonal érdekes, azért írtam - és nem okoskodásból. Mellesleg régóta nem is kellett (sajnos) ezzel foglalkoznom

 

Előzmény: bolygohollandi1 (34470)
magyarpityu Creative Commons License 2020.05.21 0 0 34471

Szia Delila!

 

Köszönöm, szuper! Igazából az a problémám, hogy sok dokumentumot készítek (százas nagyságrend), darabaja a tizenvalahánytól a többszáz oldalasig terjed, és mindegyik hasonló felépítésű: hosszabb-rövidebb fejezetekből áll. Szeretnék mindegyikhez egy tartalomjegyzéket, ami fejezetcímeket és oldalszámokat tartalmaz (dokumentumonként melyik fejezet hányadik oldalon kezdődik). Amit EV írt, az ígéretes, de még nem tudtam rájönni, nálam ez hogyan működne, de még töröm a fejem, hátha összejön! Azért köszönöm, hasznos volt ez is :))

Előzmény: Delila10 (34466)
bolygohollandi1 Creative Commons License 2020.05.21 0 0 34470

Köszönöm,  tanulmányozom, de úgy tűnik, ezt is meg kellene "fordítanom", mert ez inkább arra alkalmas, hogy két pont közti távoslágot meghatározzon

Az megy, de nem bírok rájönni, hogyha megfordítom, miért pusztul bele a szögfüggvényekbe, illetve a gyökfüggvénybe. (OK, értem én, hogy ahogy képtetem a koordinátákat előbb-utóbb negatív érték lesz a gyök alatt vagy nem lesz értelmezett az arc sin függvényem de miért?!)

 

Ugyanis azt próbáltam csinálni, hogy adott a pont szélességi és hosszúsági foka és kiszámíttatom, hogy mondjuk ugyanazon a széleségi körön hol van a sugárnyi távolságra lévő pont. Eddig megy, tehát megvan a  kör egy pontja.

De mikor innen léptetem visszafelé a hosszúsági fokokat és próbálom kiszámíttatni a hozzá tartozó szélességi fokot, előbb utóbb megdöglik

Egy ideig szépen jönnek elő a kör pontjai,, aztán megdöglik..:(

 

No mindegy is, végülis nem muszáj ezt nekem megcsinálni, de már nagyon bosszant, hogy nem sikerül

 

Köszönöm mindenkinek aki próbált segíteni :)

Előzmény: Eredő Vektor (34467)
bolygohollandi1 Creative Commons License 2020.05.21 0 1 34469

A helyzet rosszabb - én a Földre szeretnék egy kört rajzolni; azért írtam hosszúsági és szélességi koordinátákról

 

Akkor pontosabban:

 

Írtam egy makró-rendszert, ami egyrészt egy Goolge Earth-ből elmentett fáljból kinyeri az arra rajzolt objektumok koordinátáit

Visszafelé is megcsináltam: egy Excel-táblába beimportált adatokból olyan fájlt állít elő, amit a Google Earth képes értelmezni és az Excel-ben definiált objektumokat (Helyjelző, poligon, útvonal, stb.) megjeleníti a térképen

 

Az jutott eszembe, milyen jópofa lenne, ha egy adott pontot megadnék Excelben (azt ugye meg tudom jeleníteni a Google Earth térképén) és az algoritmus kiszámolná nekem a "kör-hatású" poligon (sokszög) képét a térképre

(Nem pusztán szórakozás a kérdés - pl. egy adótorony hatási körét lehetne ábrázolni)

Előzmény: Garashan (34464)
Delila10 Creative Commons License 2020.05.21 0 0 34468

'hivatkozást is elhelyezve, amik az egyes munkalapok A1 cellájára mutatnak.

helyesen

'hivatkozást is elhelyezve, amik az egyes munkalapok megadott cellájára mutatnak.

Előzmény: Delila10 (34466)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34467

Itt egy mintapélda:

https://www.contextures.com/functionsamples/jl_distancecalcs.zip

 

Szerintem gömbre kell Neked ez. De te nem beszélsz a hosszúság / szélesség irányáráól.

 

Előzmény: bolygohollandi1 (34465)
Delila10 Creative Commons License 2020.05.21 0 0 34466

Nemrég hoztam össze egy tartalomjegyzék készítő makrót, félig-meddig internetes segítséggel.

Ez ugyan elkészíti a tartalomjegyzéket, de pdf-nél nem ugrándozik az egyes lapokra, csak Excelben.

Az oldalszámot tudod automatizálni nyomtatásnál, ha a fej-, vagy láblécbe beteszed, és a nyomtatást az összes lap kijelölése után indítod.

Ímé a makró egy halom megjegyzéssel.

 

Sub Tartalomjegyzek()

    'A makró egy tetszőleges nevű munkalapot szúr be a meglévőek elé.

    'Erre a munkalapra egy tartalomjegyzéket készít a többi munkalapot listázva,

    'hivatkozást is elhelyezve, amik az egyes munkalapok A1 cellájára mutatnak.

    'A lapokra vissza logikájú linket helyez el kérésre, egy megadott cellába.

   

    Dim TartalomLapnev As String, VisszaSzovege As String, VisszaHelye As String

    Dim aktiv As Integer, Vissza As Integer

   

    'Megkérdezi a felhasználótól, mi legyen a tartalomjegyzék munkalapjának a neve

    TartalomLapnev = InputBox("Mi legyen a tartalomjegyzék munkalapjának neve?", "Tartalomjegyzék munkalapjának neve")

   

    'Megkérdezi, szeretnénk-e vissza gombot elhelyezni a munkalapokon?

    Vissza = MsgBox("Legyen-e egy vissza logikájú link a munkalapokon?", 4, "Vissza logikájú link")

   

    'Ha igen, kérdezze meg, mi legyen a szöveg? pl. 0171:«

    'és hol legyen az egyes lapokon

    If Vissza = 6 Then

        VisszaHelye = InputBox("Hova kerüljön a vissza logikájú link a lapokon?" & vbLf & "Pl.: A1", "Vissza logikájú link helye")

        VisszaSzovege = InputBox("Mi legyen a vissza logikájú link felirata?" & vbLf & "Pl. « (bal Alt+0171)", "Vissza logikájú link felirata")

    End If

   

    'Szúrjon be egy új munkalapot a meglévők elé a legelső helyre.

    ActiveWorkbook.Sheets.Add Before:=Worksheets(1)

   

    'Adja az új munkalapnak a felhasználó által megadott nevet

    Worksheets(1).Name = TartalomLapnev

   

    'Menjen végig a munkalapokon ...

    For aktiv = 2 To ActiveWorkbook.Sheets.Count

        '... és írja ezeknek a nevét sorszámmal ellátva az újonnan létrehozott lapra.

        Worksheets(1).Cells(aktiv, 1).Value = aktiv - 1 'sorszám

        Worksheets(1).Cells(aktiv, 2).Value = Worksheets(aktiv).Name    'lapnév

    

        'A munkalapok neveit tegye linkké

        With Worksheets(1)  'itt adhatjuk meg, hogy az egyes lapokon melyik cellára mutasson a link

            .Hyperlinks.Add Anchor:=.Cells(aktiv, 2), Address:="", _

                SubAddress:="'" & Worksheets(aktiv).Name & "'!A1", TextToDisplay:=Worksheets(aktiv).Name

        End With

       

        'Ha kértünk Vissza linket, hozza létre a vissza logikájú linket a megadott cellába

        If Vissza = 6 Then  'And aktiv > 1 Then

            Worksheets(aktiv).Range(VisszaHelye).Value = VisszaSzovege

            With Worksheets(aktiv) 'itt adhatjuk meg, hogy a vissza link melyik cellára álljon az első lapon

                .Hyperlinks.Add Anchor:=.Range(VisszaHelye), Address:="", _

                    SubAddress:="'" & TartalomLapnev & "'!B2", TextToDisplay:=VisszaSzovege

                .Range(VisszaHelye).Font.Bold = True

            End With

        End If

    Next aktiv

End Sub

Előzmény: magyarpityu (34455)
bolygohollandi1 Creative Commons License 2020.05.21 0 0 34465

Nem ismerem, de mindjárt utánanézek; köszönöm!

Előzmény: Eredő Vektor (34463)
Garashan Creative Commons License 2020.05.21 0 0 34464

Szia!

Tehát, hogy a példádnál maradjunk:

u=48

v=13

r=2000

A kör általános képlete: (x-u)^2+(y-v)^2=r^2

Ide, ha behelyettesítesz: (x-48)^2+(y-13)^2=2000^2
Tételezzük fel, hogy az egyik pontod koordinátája, amitől meg akarod nézni a kör másik pontját: P_x=2048 P_y=13

Ettől nézzük meg, hogy mik vannak R távolságra:

(x-2048)^2+(y-13)^2=R^2
Tehát van két ismeretlened és van két egymástól független egyenleted, egyikből kifejezed a másikat és kész is vagy.

Ha P biztos rajta van a körön, akkor 3 lehetőség állhat fenn:

1.) R>2r, akkor nincs a két körnek metszete
2,) R=2r, pontosan egy metszéspont van
3,) R<2r, akkor pontosan két metszéspont van.

 

Ha ezt makrózni akarod, akkor paraméteresen kell levezetni a képleteket.

Ha pedig P nincs rajta a körön, akkor több eset is lehetséges:
1.) Pontosan egy metszéspont van, ekkor a két kör érinti egymást, kívülről vagy belülről
2.) Két metszéspont van: A körök metszik egymást, szintén kívülről vagy belülről
3.) Nincs metszéspont: A körök nem metszik egymást
4.) Végtelen metszéspont van: A körök szélességi és hosszúsági fokai megegyeznek, valamint a sugaruk is.

 

u.i.: Ha ezt a földgömbön akarod alkalmazni, akkor oda gömbi (Bolyai) geometria kell, de az kicsit nehezebben emészthető, mint az euklideszi geometria és akkor a fent leírtak nem használhatóak.

Előzmény: bolygohollandi1 (34461)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34463

Azimuth formulát ismered?

Előzmény: bolygohollandi1 (34461)
magyarpityu Creative Commons License 2020.05.21 0 0 34462

Köszönöm a hasznos infókat!!!

Előzmény: Eredő Vektor (34460)
bolygohollandi1 Creative Commons License 2020.05.21 0 0 34461

Sziasztok!

 

Egy kérdés - hátha akad valaki, aki tud mondani valami használható ötletet rá.

 

OK, nem feltétlenül Excel-probléma, de én akármiért is Excel makróval szeretném megoldani (bár végülis tökmindegy milyen programnyelvről beszélünk ezesetben)

 

Hogy tudnám meghatározni egy kör szélességi és hosszúsági fokait a középpontja és a sugara ismeretében?

 

Magyarán adott a kör középpontjának szélességi (pl. 48) és hosszúsági foka (pl. 13) és mondjuk 2000 km a sugara és én szeretném a kör pontjait meghatározni.

Két pont távolságával semmi gondom - van rá formula (Haversine); remekül működik, de a "megfordítása" - amikor a távolság ismert és egy ponttól egy adott távolságra lévő másik pont koordinátáját kellene kiszámolnom, az valahogy semmiképpen nem működik nekem.

Előre is köszönet, ha valaki tud egy használható tippet mondani

Eredő Vektor Creative Commons License 2020.05.21 0 0 34460

további paraméterek leírását itt googliztam:

https://excelfox.com/forum/showthread.php/76-Excel-Macro-Functions-(GET-DOCUMENT)

 

ennek a makrófüggvénynek egyes esetekben nagy hasznát lehet venni a lentieken túl is.

Pl. Dokut.Vesz(88) = filenév kiterjesztéssel

87  = munkalap sorszám

2 = teljes elérési út 

stb...

mindenféle dokumentum szintű infó lekérdezhető...

Előzmény: Eredő Vektor (34458)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34459

viszont nem volatilis a fgv, F2+enter kell a cellában :(

Előzmény: Eredő Vektor (34458)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34458

Kíváncsi lettem, hogy vba mentesen felszedhető e az oldalszám...

Arra jutottam, hogy igen. 4.0 excel makrólap függvények névadással elérhetőek sima munkalapon.

 

Dokut.VESZ(50) megmondja, hogy összesen hány oldal van a munkalapon

Dokut.Vesz(64) megmondja az oldaltörés utolsó utáni sorát.

 

Itt van egy használható leírás:

 

http://dailydoseofexcel.com/archives/2004/12/22/page-of-pages-in-a-cell/

 

 

 

Előzmény: magyarpityu (34457)
magyarpityu Creative Commons License 2020.05.21 0 0 34457

Éppen ezzel a dokumentum adott pontjára hivatkozó link beszúrásával próbálkoztam, és Excel-ben működik is, de egyrészt pdf-be exportálva nem élnek a linkek, másrészt nem tudtam az oldalszámokat megadni. Most azon töprengek, hogy makróval le kellene kérdezzem minden munkalap első oldalának oldalszámát, és makró írná be az oldalszámokat (így persze nem lenne intelligens, automatikusan frissülő megoldás, bár azt a makrót a legvégén, pdf-esítés előtt futtatnám), de úgy tűnik, ezzel nem boldogulok. Kicsit még kísérletezek...

Előzmény: Eredő Vektor (34456)
Eredő Vektor Creative Commons License 2020.05.21 0 0 34456

Word-höz hasonlóan generálható tartalomjegyzék nem létezik excelben. (a prgoram jellegéből adódóan)

Sk. tudsz készíteni egyszerűen egy külön munkalapra.

Pl így:

https://tablazatkezeles.hu/excel-tartalomjegyzek

Előzmény: magyarpityu (34455)
magyarpityu Creative Commons License 2020.05.21 0 0 34455

Sziasztok!

Olyan dokumentációt készítek, ahol az adatok munkalapokon vannak (több lapon, mert különböző jellegű adatok, részben rövid szöveges infók, de alapvetően táblázatok). Eddig egyetlen Word file-ba másoltam mindent, de szeretném megspórolni az Excel-Word átmásolást (leginkább azért, mert Excel-ben sokkal kényelmesebb kezelni, rendezgetni az adatokat, és a Word-ben újra kell formázni az Excel-ből áthozott adatokat). A Word azért került képbe, mert a dokumentum elejére teszek egy tartalomjegyzéket, amit Excel-ben nem tudom, lehet-e, és ha igen, akkor hogyan?

 

Ehhez kérek tőletek ötletet, tanácsot, hogy lehet-e Excel-ben olyan dokumentumot létrehozni, amiben van tartalomjegyzék? Minden fejezet külön munkalapon van, és egy újabb lapon tartalomjegyzék, mely minden más lap mondjuk első sorát behivatkozza egy tartalomjegyzékbe? Végül egy pdf file-ba exportálok (a munkalapokon egységes fejléc-lábléc, mindenhol vannak oldalszámok), és lenne egy tartalomjegyzék címekkel, oldalszámokkal. Köszönöm előre is!

Redlac Creative Commons License 2020.05.20 0 0 34454

Köszi, még nem, de rákukkantok.

Előzmény: Fferi50 (34451)
Fferi50 Creative Commons License 2020.05.20 0 0 34453

Szia!

A munka1-ben a listát úgy kell létrehozni, hogy a munka2-ben is legyen ugyanolyan lista és azt kell meghivatkozni.

Üdv.

Előzmény: Kingcs87 (34452)
Kingcs87 Creative Commons License 2020.05.20 0 0 34452

Szia!

 

Ès azt meg tudom oldani, hogyha úgy csinálom ahogy tanácsolod, a munka1-ben elhelyezett lista frissüljön a munka2-ben elvègzett módosításokkal?

Előzmény: Fferi50 (34450)
Fferi50 Creative Commons License 2020.05.20 0 0 34451

Szia!

Ezt nézted már?

https://steemit.com/utopian-io/@elissa/how-to-automate-filezilla-ftp-programming-with-the-file-transport-protocol-macros

 

A SendKeys pont azért is, amit írsz, nem biztonságos megoldás szerintem.

Talán ki kellene írni az adatokat egy fájlba és utána elindítani az alapján a FileZillát.

Üdv.

Előzmény: Redlac (34447)
Fferi50 Creative Commons License 2020.05.20 0 0 34450

Szia!
Külső fájlból adatérvényesítési listát nem tudsz hivatkozni.  Ezt a listát abban a munkafüzetben kell elhelyezni, ahol használni szeretnéd.

A kiválasztás után a VLOOKUP (VKERES) függvénnyel tudod megoldani a keresést. Célszerű első alkalommal úgy megtenni, hogy mindkét munkafüzet nyitva van és egérrel jelölöd ki a tartományokat.

Utána már működhet akkor is, ha csak a cél munkafüzet van nyitva.

Üdv.

Előzmény: Kingcs87 (34449)
Kingcs87 Creative Commons License 2020.05.20 0 0 34449

Sziasztok!

 

Kèt különböző mappában lèvő excel munkafüzetet szeretnèk összekapcsolni(munka1 ès munka2) úgy, hogy a munka1 táblázat G4 cellában egy legördülő listát hozhassak lètre a munka2 táblázat A oszlopának soraiból, ès ha kiválasztok egy elemet a listából a kkor a munka1 táblázat H4 cellájában a munka2  B oszlop a kiválasztott listaelem szerinti sorának adatai jelenjenek meg.

Előre is köszönöm a segítsèget!

magyarpityu Creative Commons License 2020.05.20 0 0 34448

Sziasztok!


Mivel a WorksheetFunction.NumberValue nem működik nekem, ezért kerülő megoldást találtam WorksheetFunction.NumberValue helyett. Az adataim olyan szoftverből vannak, ami közvetlenül Excel file-ba tolja az eredményeket, de sajnos nem natív számokként a számértékeket, hanem space-ekkel tabulálgatva, hogy balra igazított formátumban egymás alá kerüljenek az egy oszlopban lévő számok (tehát pl. '   0.01' az egyik cellába, következő sorban ' -2.84', majd '12.96' és így tovább, szörnyű)! De legalább következetesen szövegként jönnek át az értékek, nem lesznek dátum formátumúak (legalábbis remélem, tengersok adat van, belepörgettem, úgy tűnik, nem lett dátum értékem), mert az lenne a csúcs, azokból visszahozni az eredeti számokat...


Ha csak cserélgetem a '.'-ot ','-re, az még nem jó (szövegkét tárolt szál lett az eredmény, ez is valami, de nem az igazi):

On Error Resume Next
Rest.Cells(rowRest, colRest) = WorksheetFunction.Substitute(Trim(Rest.Cells(rowRest, colRest)), ".", ",")
On Error GoTo 0


Így viszont jó:
Dim val As Double
On Error Resume Next
val = WorksheetFunction.Substitute(Trim(Rest.Cells(rowRest, colRest)), ".", ",")
If Err = 0 Then
   Rest.Cells(rowRest, colRest) = val
End If
On Error GoTo 0


Most reggel látom az 1-gyel szorzós trükköt, és működik :)))) Köszönöm!


Ez lett tehát:
On Error Resume Next
Rest.Cells(rowRest, colRest) = WorksheetFunction.Substitute(Trim(Rest.Cells(rowRest, colRest)), ".", ",") * 1
On Error GoTo 0

 

Köszönöm a segítséget!

Előzmény: Fferi50 (34445)
Redlac Creative Commons License 2020.05.20 0 0 34447

Sziasztok!

 

Van ez a remek kis makróm, amivel:

- bekérek egy számot

- ennek a számnak a felhasználásával létrehozok mappát, illetve ebbe belemásolom egy másik tartalmát

- elindítom a FileZilla programot

- Sendkeys-szel a bekért szám felhasználásával generálok egy IP-címet, majd ezzel és felhasználónévvel és jelszóval belépek egy "felületre"

- továbblépek egy megadott mappába

 

A gondom, hogy időnként a FileZilla lassan indul, és eldobálja szanaszét a Sendkeys-eket a makró. Kérdéseim:

1. Mivel lehet megváratni a FileZilla teljes megnyitását, tehát amikor már készen fogadja a bevitelt?

2 Van-e esetleg erre más ötlet?

3. Arra is gondoltam, hogy vbs-sel vagy bat-tal előre megnyitom a FileZillát (és ezt az xlsm-met), és utána hozom fókuszba a FileZillát, de időnként ott is sokáig barkácsol, tehát tudni kellene, hogy megnyílt-e már teljesen. No, de hogyan?

 

Előre is köszönöm :-)

 

Private Sub start_Click()
Dim WshShell As Variant
Dim pszam
Dim mappanev
Dim hossz
Dim innen As String
Dim ide As String
Dim fso As Object
Dim datum

 

If tb1 <> "" Then
   pszam = "2" & tb1
   If Left(tb1, 1) = 1 Then hossz = "hosszu"
   If Left(tb1, 1) = 2 Then hossz = "rovid"
   datum = Year(Date) & "." & Right("0" & Month(Date), 2) & "." & Right("0" & Day(Date), 2)
mappanev = datum & "_" & pszam & "_" & "mentes"
innen = "C:Usersvorosl2Documentspr_mappa" & hossz
ide = "C:Usersvorosl2Desktop" & mappanev

   MkDir ide
   mappadone.Visible = True
Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CopyFolder Source:=innen, Destination:=ide
   mappardone.Visible = True

WshShell = Shell("C:Usersvorosl2DocumentsFileZillaPortableFileZillaPortable.exe", vbMaximizedFocus)
   Run WshShell
   Application.Wait Now + TimeValue("00:00:02")
   Application.SendKeys "10.33."
   Application.SendKeys tb1
   Application.SendKeys ".15"
   Application.SendKeys "{TAB}"
   Application.Wait Now + TimeValue("00:00:01")
   Application.SendKeys "felh"
   Application.SendKeys "{TAB}"
   Application.Wait Now + TimeValue("00:00:01")
   Application.SendKeys "jelsz"
   Application.SendKeys "{TAB}"
   Application.SendKeys "{TAB}"
   Application.SendKeys "~"
   Application.Wait Now + TimeValue("00:00:02")
   Application.SendKeys "~"
   Application.Wait Now + TimeValue("00:00:03")
   Application.SendKeys "{TAB}"
   Application.SendKeys "{TAB}"
   Application.SendKeys "{TAB}"
   Application.SendKeys ide
   Application.SendKeys "~"
   Application.SendKeys "{TAB}"
   Application.SendKeys "{RIGHT}"
End If

End Sub

Fferi50 Creative Commons License 2020.05.19 0 0 34446

Vagy + 0 is használható a *1 helyett.

Arra azonban oda kell figyelni, hogy a rövid dátumot is jelenthető kifejezést az Excel automatikusan dátumnak "képzeli" és át is alakítja -> 9.15  azonmód szeptember 15. lesz és ebből csak nagy nehézségek árán lehet a 9.15-öt visszakapni.

 

Előzmény: Fferi50 (34445)
Fferi50 Creative Commons License 2020.05.19 0 0 34445

Szia!

Ezt próbáld ki légy szíves:

Range("A1").Value=Replace(Range("A1").Value,".",",")*1

Üdv.

 

Előzmény: magyarpityu (34441)
m54-b Creative Commons License 2020.05.19 0 0 34444

(Bocs, látom ott van, neked nem működik. A 2007-es gond nélkül vette nekem. Igaz, nem makróval.)

Előzmény: m54-b (34443)
m54-b Creative Commons License 2020.05.19 0 0 34443

Az egyszerű csere "."-t ","-re nem jó? Vagy vannak mondatok is?

Előzmény: magyarpityu (34441)
pimre Creative Commons License 2020.05.19 0 0 34442

Az automatikus konverzió nem működik, hogy beolvasáskor hozzáadsz egy 0-t?

 

Például dim szam as double

...

szam=Munkalap.Cells(1, 1) +0

 

Előzmény: magyarpityu (34441)
magyarpityu Creative Commons License 2020.05.19 0 0 34441

Sziasztok!

Abban szeretnék segítséget kérni, hogy szövegként tárolt számokat hogyan lehetne makróval számmá alakítani? Tehát ilyesmi van a cellában: -0.012, amit szövegként értelmez az Excel (a területi beállítások szerint a '.' nem tizdesvessző), és a cél az lenne, hogy ez az érték -0,012 szám legyen. Lecseréltem a '.' jelet ','-re, de ez nem igazán jó, szöveg maradt a szám. Van egy WorksheetFunction.NumberValue függvény, de ez mintha nem működne (vagy nem értem, hogyan kellene működjön).

 

Ezt próbáltam: Munkalap.Cells(1, 1) = WorksheetFunction.NumberValue("0.01", ".", "")

 

A 'Munkalap' nevű worksheet-en az 1,1 cellában 0,01 kellene megjelenjen, ehelyett "Run-time error 1004: WorksheetFunction osztály NumberValue tulajdonsága nem érhető el" üzenetet kapok. Hogyen kell ezt megoldani? Köszönöm előre is!

Fferi50 Creative Commons License 2020.05.12 0 1 34440

Szia!

Szerintem érdemes lenne ránézned az Excel már meglevő sablonjaira, pl. a Személyes kiadások kiszámítása, vagy a költségvetésekre.

Üdv.

Előzmény: Asnl (34438)
Delila10 Creative Commons License 2020.05.12 0 1 34439

Annyi a nagy titok, hogy az A, B, és C oszlopokban minden sorba be kell írnod az időpontot, és a vásárlás helyét.

Előzmény: Asnl (34438)
Asnl Creative Commons License 2020.05.11 0 0 34438

A képek lemaradtak, pedig beillesztettem őket...bocsi.

Előzmény: Asnl (34437)
Asnl Creative Commons License 2020.05.11 0 0 34437

Sziasztok,

 

Egy kis segítségre lenne szükségem, mint sokaknak itt a fórumon. :)

 

Szeretnék csinálni egy táblázatot, amelyben tudjuk vezetni részletesen a kiadásainkat, bevételeinket. Igyekeztem rátalálni egy hasonló létező táblázatra, azonban nem jártam sikerrel.

A lényegi része aminek a megoldásával bajlódok az lenne, hogy egy háztartásban előforduló pénzmozgást szeretnék részletesen vezetni. A számlák egyes elemeit is be szeretném vinni a táblázatba, ami igaz az igaz, sok munkával jár, de egyelőre még érzek magamban annyi motivációt hogy tudni fogom vezetni, aztán majd az idő eldönti hogy ez a lelkesedés meddig fog tartani. Az alábbi képeken látható a lényegi rész. Szeretném feltüntetni azt hogy mennyibe kerülnek az egyes elemek azon a bizonyos napon, és melyik boltban vásároltam ezeket a termékeket. Eddig még okés is a dolog, a 2. képen látható hogy csináltam 2 csoportot, melyben el tudom tüntetni a számlán szereplő elemeket ha azt nem szeretném látni, és meg tudom jeleníteni ha éppen kellene. A csillaggal jelölt mezőben pedig egy hiperlink található, amiben hozzáadom a képet a valós számláról. Ez eddig rendben is van, csak a szűrésnél adódik a probléma, ha pl lesz 1 hosszú listám pár hónapra előre, és rá szeretnék szűrni hogy a Lidlben vásárolt kenyér mikor mennyibe került akkor ez így nem működik, mivel a Boltok oszlopban én csak a fő sorba írtam be a bolt nevét, és az alatta található sorokban nem szeretném megismételni ezt, mivel világos hogy ez egy számlához tartozik amit ebben a boltban vásároltam. "Merge" funkciót  sem engedi az alattalévő üres helyekkel, mert ez egy táblázattá alakított terület. Tudom hogy ez nem olyan egetrengető probléma, de nagyon kiváncsi vagyok rá hogy ti hogy oldanátok meg ezt, akár egy teljesen más irányú elgondolás is érdekelne, nekem így elsőre az alap excel tudásommal ennyire futotta. :)

 

 

 

A válaszokat előre is köszönöm!

 

Üdv,

Asnl

Redlac Creative Commons License 2020.05.11 0 0 34436

Aztaaa, és megint :-)

Köszönöm a segítséget, így már tökéletes.

 

Sub mappa_keszito_Click()

Dim fso, adatmappa, esemappa, adatnev, esenev, usor, m1, docnev, xlsnev As String
Dim worddoc, wordapp

 

Set fso = CreateObject("Scripting.FileSystemObject")
Set m1 = ActiveWorkbook.Sheets("Eseményes")
Set wordapp = CreateObject("Word.Application")

docnev = "C:Users\voros\Downloads\Ikattó\f.dotx"
xlsnev = "C:\Users\voros\Downloads\Ikattó\Me.xltx"
usor = m1.Range("A" & Rows.Count).End(xlUp).Row
adatnev = m1.Cells(usor, "D") & "_" & m1.Cells(usor, "E") & "_" & m1.Cells(usor, "F") & "_" & m1.Cells(usor, "H") & "_" & m1.Cells(usor, "J")
esenev = "ESE" & "_" & m1.Cells(usor, "D") & "_" & m1.Cells(usor, "E") & "_" & m1.Cells(usor, "F") & "_" & m1.Cells(usor, "H")
adatmappa = "C:\Users\voros\Downloads\Ikattó\" & adatnev
esemappa = "E:\UJ_32\VBCS\" & esenev

 

   fso.CreateFolder adatmappa
   fso.CreateFolder esemappa

   Workbooks.Open Filename:=xlsnev
   ActiveWorkbook.SaveAs Filename:=adatmappa & "\" & m1.Cells(usor, "D")
   ActiveWorkbook.Close

   Set worddoc = wordapp.documents.Add(Template:=docnev, Newtemplate:=True)
   worddoc.SaveAs Filename:=adatmappa & "\" & "ff.docx"
   worddoc.Close

 

   Call Shell("explorer.exe" & " " & adatmappa, vbNormalNoFocus)
   Call Shell("explorer.exe" & " " & esemappa, vbNormalNoFocus)

 

End Sub

Előzmény: Fferi50 (34435)
Fferi50 Creative Commons License 2020.05.11 0 0 34435
Előzmény: Redlac (34434)
Redlac Creative Commons License 2020.05.11 0 0 34434

Sziasztok!

 

1. Egy formról feltöltök egy táblázatot (korábban kész, remekül működik)

2. Most kitaláltam, hogy az utolsó lépésként a táblázat adataiból hozzunk létre

2a Egy mappát a saját gépen

2b Egy mappát a szerveren

2c Egy Excel sablont mentsünk a saját gép létrehozott mappájába

2d Egy Word sablon mentsünk a saját gép létrehozott mappájába.

 

Ezt a kódot írtam, de a Word mentésénél megáll. Addig mindent szépen megcsinál. Érdekes, hogy a Word sablon megnyitásánál nem "dokumentum1"-ként nyitja meg, hanem a sablon neveként.

 

Sub mappa_keszito_Click()

Dim fso, adatmappa, esemappa, adatnev, esenev, usor, m1, docnev, xlsnev As String
Dim worddoc, wordapp

 

Set fso = CreateObject("Scripting.FileSystemObject")
Set m1 = ActiveWorkbook.Sheets("Eseményes")
Set wordapp = CreateObject("Word.Application")

 

docnev = "C:\Users\voros\Downloads\Ikattó\f.dotx"
xlsnev = "C:\Users\voros\Downloads\Ikattó\Me.xltx"
usor = m1.Range("A" & Rows.Count).End(xlUp).Row
adatnev = m1.Cells(usor, "D") & "_" & m1.Cells(usor, "E") & "_" & m1.Cells(usor, "F") & "_" & m1.Cells(usor, "H") & "_" & m1.Cells(usor, "J")
esenev = "ESE" & "_" & m1.Cells(usor, "D") & "_" & m1.Cells(usor, "E") & "_" & m1.Cells(usor, "F") & "_" & m1.Cells(usor, "H")
adatmappa = "C:\Users\voros\Downloads\Ikattó\" & adatnev
esemappa = "E:\UJ_32\VBCS\" & esenev

 

fso.CreateFolder adatmappa
fso.CreateFolder esemappa

Workbooks.Open Filename:=xlsnev
ActiveWorkbook.SaveAs Filename:=adatmappa & "\" & m1.Cells(usor, "D")

worddoc.Documents.Open Filename:=docnev
worddoc.Visible = True
worddoc.SaveAs Filename:=adatmappa & "\" & "ff.doc"
word.Application.Quit

 

Call Shell("explorer.exe" & " " & adatmappa, vbNormalNoFocus)
Call Shell("explorer.exe" & " " & esemappa, vbNormalNoFocus)

 

End Sub

Fferi50 Creative Commons License 2020.05.10 0 0 34433

Mármint Ctrl+C és Ctrl+V utána Enter.

Előzmény: Fferi50 (34432)
Fferi50 Creative Commons License 2020.05.10 0 0 34432

Szia!

 

A vágólapról simán be tudod illeszteni ahhoz a cellához, ahova akarod:

 

Range("G3").Select
ActiveSheet.PasteSpecial Format:="Bitkép", Link:=False, DisplayAsIcon:=False

 

Sőt, vba sem kell hozzá, simán Ctrl+C  és enter.

Nem kell ehhez semmilyen külön program.

Üdv.

Előzmény: Redlac (34431)
Redlac Creative Commons License 2020.05.10 0 0 34431

Az aktív ablak printscreent létre lehetne hozni billentyűkombinációval, ám azzal csak a vágólapra kerül. Azért, hogy egyből az egyik Office programba kerüljön, kell a Picpic. Keresgéltem, hogy ezek nélkül vbs-ben meg lehetne-e oldani, de nem találtam rá  megoldást.

Ha manuálisan nyomnám a printscreent, akkor manuálisan kellene megnyitni a Wordot, és oda beilleszteni. Ott a kép méretezését, keretet már meg tudnám makróval oldani, de míg az Excelben két pipa lehetőség a margóknál a középre igazítás, a Wordnél a képet még a szöveg elé kellene hozni, és ott igazítgatni.

Ezekért választottam a picpicet és az Excelt :-)

 

Előzmény: James 42 (34430)
James 42 Creative Commons License 2020.05.10 0 0 34430

Szerintem a két program közül egyikre sincs szükség. Elég hozzá például egy Word is. De ha azzal nem tudsz elég szép keretet tenni a kép köré, akkor ott van a Powerpoint. Abban biztosan meg lehet formálni, ahogy akarod, és el lehet menteni PDF-be.

(Én ahhoz használok Excelt, hogy adott méretű cetliket tudjak szerkeszteni névtáblákhoz. Nyilván erre is alkalmas lenne a Word, de nekem egyszerűbb volt egyszer kikísérletezni, hogy mekkora cellák felelnek meg a kívánt méretnek, és azokba beírni a kívánt szöveget. Viszont nem jutna eszembe, hogy egy képet pont Excelben próbáljak meg méretezni, és hasonlók.)

Előzmény: Redlac (34428)
Fferi50 Creative Commons License 2020.05.10 0 0 34429

Szia!

VBA nézet - View menü - Object Browser

 

Ezt láthatod, ha beírod keresőnek a Shape-t pl.

 

Üdv.

Ps. Mivel sajnos a makró rögzítés nem mindig ad megoldást.

 

Előzmény: Redlac (34426)
Redlac Creative Commons License 2020.05.10 0 0 34428

Szívesen meghallgatom a javaslatodat. 

Az Excelbe importálás adott volt a Picpic program miatt, azért indultam ebbe az irányba.

Előzmény: James 42 (34427)
James 42 Creative Commons License 2020.05.10 0 0 34427

Amúgy Te érted, hogy miért kell erre Excel?

Előzmény: Fferi50 (34425)
Redlac Creative Commons License 2020.05.10 0 0 34426

ééééés tökéletes :-)

 

ActiveSheet.Shapes(1).Width = 566.9291338583
With ActiveSheet.Shapes(1).Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.Transparency = 0
End With
With ActiveSheet.Shapes(1).Line
.Visible = msoTrue
.Weight = 3
End With

 

Ezzel remekül tudtam méretezni, keretezni. Köszönöm :-)

 

Valóban, ha kijelöltem a képet, akkor indítható volt a makrórögzítő. Olyankor Selection.ShapeRange volt a neve, de az általad megadott nevet használva nem kellett kijelölnöm sem.

 

A VBA nézetben megtaláltam az "Objektumokat", de ott nem találtam a tulajdonságokat.

Előzmény: Fferi50 (34425)
Fferi50 Creative Commons License 2020.05.10 0 0 34425

Szia!

A beillesztett képet az aktív munkalapon kétféleképpen is megtalálhatod:

Shape illetve Picture objektumként, mindkettő gyűjteményben van, ha egy db van belőle akkor is. Az eltérés az, hogy másképpen érhetőek el a tulajdonságok. 

Tehát az objektumod vagy set sh=Activesheet.Shapes(1) vagy set pict=Activesheet.Pictures(1) módon érhető el (sh és pict szabadon választott változónév). 

A VBA nézet Objektum tallózójában a Shape tekintetében megtalálod a tulajdonságokat, a Picture nincs benne.

Egyébként szerintem ha kijelölöd a beimportált képet és utána indítod a makrórögzítőt, akkor működik pl. a jobb egérgombos parancs.

 

Üdv.

 

Előzmény: Redlac (34424)
Redlac Creative Commons License 2020.05.10 0 0 34424

Sziasztok!

 

A cél, hogy a printscreen tartalmát pdf-be mentsem.

Egy külső program (picpic) billentyűről létrehozza a kívánt ablakképet, majd importálja egy Excelbe.

Ezek utánra pár sorban ezt írtam, és a személyes munkafüzetbe elmentve, gyorselérésen gombot létrehozva remekül működik.

 

Sub Infolap_mento()


Const utvonal As String = "mappa"
mappa = "C:Usersvorosl2Documents"

 

Application.PrintCommunication = False
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
End With
Application.PrintCommunication = True
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "C:UsersexcelsegedDocumentsInfolap.pdf"

Call Shell("explorer.exe" & " " & mappa, vbNormalNoFocus)

ActiveWorkbook.Saved = True

ActiveWorkbook.Close


End Sub

 

Hogyan tudnám a beillesztett képet módosítani? Ha makrórögzítéssel próbálkozom, akkor amint elindítom a rögzítést, a képpel nem tudok semmit kezdeni, nem lesz aktív. Hogyan tudom "megcímezni" a beillesztett képet. Keretet tennék rá, a méretét növelném.

 

 

Előre is köszönöm :-)

nagy2018 Creative Commons License 2020.05.09 0 0 34423

Szia!

Nagyon köszönöm. Most már két megoldásom is van. Valami hasonlót láttam, de nem tudtam értelmezni. Így már tökéletes. :)

Előzmény: Fferi50 (34421)
nagy2018 Creative Commons License 2020.05.09 0 0 34422

Nagyon köszönöm a segítséget. Épp most találtam rá, hosszú szenvedés árán. Az oszlopsor is a sorba jelent meg. Azzal kínlódtam. Még egyszer köszönöm.

Előzmény: Delila10 (34420)
Fferi50 Creative Commons License 2020.05.09 0 0 34421

Szia!

Láttad ezt a súgót?

 

A oszlopban felsorolod a hibakategóriákat, a B oszloptól az első sorban pedig a hibafajtákat.

Ezután a képlet a B2 cellába:

=DARABHATÖBB(Munkalap1!$E:$E;Munkalap2!$A2;Munkalap1!$F:$F;Munkalap2!B$1)

Ez a képlet húzható jobbra és lefele is.

 

Üdv.

 

Előzmény: nagy2018 (34417)
Delila10 Creative Commons License 2020.05.09 0 0 34420

A kép jobb oldalán láthatod, melyik oszlopcímet hova kell húznod – sorokhoz, oszlopokhoz, értékekhez.

Előzmény: nagy2018 (34419)
nagy2018 Creative Commons License 2020.05.09 0 0 34419

Próbálkozom. Ez már sikerül. Most már csak az általad mutatott elrendezést kellene produkálnom.

Előzmény: Delila10 (34418)
Delila10 Creative Commons License 2020.05.09 0 0 34418

A kép szerinti kimutatás jó lesz Neked.

Előzmény: nagy2018 (34412)
nagy2018 Creative Commons License 2020.05.09 0 0 34417

Mutatom hol tartok. De egyáltalán nem jó.

 

=DARABHATÖBB(Munka1!E2:F17;{"kicsi";"közepes";"kritikus"})

Előzmény: Fferi50 (34415)
nagy2018 Creative Commons License 2020.05.09 0 0 34416

A google-ben nézelődtem a javaslatod alapján. Megpróbáltam. De hát ...

Előzmény: Fferi50 (34415)
Fferi50 Creative Commons License 2020.05.09 0 0 34415

Szia!
Szerintem ha megnézed és tanulmányozod a függvény súgóját, biztosan meg tudod oldani.

A függvény több feltételt is tud kezelni  ÉS kapcsolat szerint. Az egyik feltétel a hiba neve, a másik feltétel a hiba mértéke.

Üdv.

Előzmény: nagy2018 (34414)
nagy2018 Creative Commons License 2020.05.09 0 0 34414

Szia!

Sajna az excel tudásom minimális. Légyszíves részletesebben segíts.

Köszönöm.

Előzmény: Fferi50 (34413)
Fferi50 Creative Commons License 2020.05.09 0 0 34413

Szia!

A DARABHATÖBB (COUNTIFS) függvény a segítség hozzá.

Üdv.

Előzmény: nagy2018 (34412)
nagy2018 Creative Commons License 2020.05.09 0 0 34412

Sziasztok!

Nyelvtani hibák ellenőrzéséhez szeretnék táblázatot készíteni.

A Munkalap1 fülön az E oszlopba lenyíló ablakból választom ki a hiba típusát. A következők szerepelnek a lenyíló ablakban: 

Megfelelés, Javítás, Nyelvtan, Helyesírás, Ismétlődés, Jelentés, Terminológia, Plusz megoldás.

Az F oszlopba szintén lenyíló ablakban választom ki hozzá a hiba mértéket, ami Kicsi, Közepes vagy Kritikus.

 

A megoldandó kérdés a következő.

Munkalap2 fülön kellene összesíteni, hogy a különböző hibatípusokból, a 3 féle hiba mértékéből hány darab volt.

 

Tehát pl. így nézne ki a Munkalap2 fül táblázata, a Munkalap1 fül végtelen számú sor E és F oszlop adataiból dolgozva.

Kategória                Kicsi Közepes Kritikus Összesen

Megfelelés                        3         1          1         5

Javítás                             0         0          0         0

Nyelvtan                          0         0          0         0

Helyesírás                        2         1          0         3

Ismétlődés                       1         0          0         1

Jelentés                           2         4          4        10

Terminológia                    6         6          2        14

Plussz megoldás               0         0          0         0

Összesen                      14        12         7        33

 

Segítségeteket előre is köszönöm.

 

Ketele69 Creative Commons License 2020.05.08 0 0 34411

Sziasztok!

 

Köszönöm!!! Ez volt a megoldás!!!

 

Most már minden működik, ahogy kell. Sejtettem, hogy valami beállítás probléma lesz, mert már egy harmadik gépen is kipróbáltam, ahol szintén jól működött.

 

És igen, az oldalszámoknál is jelentkezett a probléma csak eddig nem tűnt fel, amiből látszik, mennyit használom a wordöt ezen a gépen :)

 

Mindenkinek nagyon köszönöm a segítő hozzáállását!

Előzmény: m54-b (34410)
m54-b Creative Commons License 2020.05.08 0 0 34410

1. Az egy nappal ezelőtti leveledből (34399) az az egyetlen probléma, hogy a MERGEFIELD típusú mezőkódokat mutatja. Egyéb hiba nincs, hiszen azt írod: "Ugyanakkor a Levelezés menüpontban Befejezés/egyesítés (Mind) parancsra már mutatja  a számokat."

 

Azt már meg sem merem kérdezni, hogy csak a körlevélben van így, vagy pl. az oldalszámoknál is? Mert lehet, hogy a Word beállításaiban van átállítva a mezőkódok megjelenítése a mezőérték helyett. Akkor pedig megnyitáskor ez az alapértelmezett.

Előzmény: pimre (34409)
pimre Creative Commons License 2020.05.08 0 0 34409

Azért van egy-két dolog, amit nem értek a hibaleírásodból.

 

1. Az egy nappal ezelőtti leveledből (34399) az az egyetlen probléma, hogy a MERGEFIELD típusú mezőkódokat mutatja. Egyéb hiba nincs, hiszen azt írod: "Ugyanakkor a Levelezés menüpontban Befejezés/egyesítés (Mind) parancsra már mutatja  a számokat."

 

2. Kicsit később (30404) azt írod, hogy "Az Eredmény megjelenítésére nem reagál semmit". Ez nem világos, hiszen ennek ugyanazt kell adni azon az egyetlen lapon, amit a befejezés és egyesítés. Nehezen tudom elhinni, hogy az egyik jól működik, a másik meg nem. Biztos, hogy ez a helyzet?

 

3. Ugyanitt azt írod: "A Mezőkód váltást is megcsináltam, végrehajtotta (a Mezőkód váltás azóta nem is látszik a jobb klikkben), de a helyzet nem változott"

 

Namármost, ha a Mezőkód váltás azóta nem is látszik a jobb klikkben, akkor valami nagy baj van. Ennek oda-vissza működnie kell. Biztos, hogy egy mezőkód fölött volt az egér, amikor a jobb klikket nyomtad?

 

Végül: "de a helyzet nem változott". Mi is akkor most a helyzet pontosan?

 

Előzmény: Ketele69 (34404)
m54-b Creative Commons License 2020.05.08 0 0 34408

Megváltoztatta az adatforrás helyét pl.

Előzmény: pimre (34407)
pimre Creative Commons License 2020.05.08 0 0 34407

Minek, ha nem csinált semmit? De, ha csinált, akkor is minek?

Hacsak nem módosított  valamit.

 

Előzmény: m54-b (34406)
m54-b Creative Commons License 2020.05.08 0 0 34406

("Befejezés és egyesítés" után elmentetted az eredeti dokumentumot?)

Előzmény: m54-b (34405)
m54-b Creative Commons License 2020.05.07 0 0 34405

Kijelölöd a dokumentumot, [SHIFT] + [F9] váltja az összes mezőkódot.

Előzmény: Ketele69 (34404)
Ketele69 Creative Commons License 2020.05.07 0 0 34404

Az Eredmény megjelenítésére nem reagál semmit.....

 

A Mezőkód váltást is megcsináltam, végrehajtotta, (a Mezőkód váltás azóta nem is látszik a jobb klikkben), de a helyzet nem változott.

Előzmény: pimre (34403)
pimre Creative Commons License 2020.05.07 0 0 34403

Ja és majd elfelejtettem. Ettől még Fferi javaslata is működik az Eredmény megjelenítése, sőt a Befejés és egyesítés is hibátlan eredményt ad.

 

Ugyanis, amit látsz, asz csak a képernyődön történő megjelenítést érinti, a dolog érdemi részét nem befolyásolja.

 

Persze én is jobban szeretem azt látni a körlevelemben, hogy "Tisztelt «cimzett»!" és nem azt, hogy Tisztelt MERGEFIELD!

Előzmény: pimre (34401)
pimre Creative Commons License 2020.05.07 0 0 34402

...válaszd a Mezőkódok - váltásra! helyesen válaszd a Mezőkódok - váltást!

Előzmény: pimre (34401)
pimre Creative Commons License 2020.05.07 0 0 34401

Ha biztos, hogy nem adatszerkezeti probléma okozza a jelenséget, akkor csak elállítódhatott a megjelenítés.

 

Jelöld ki azt a területet, amely az érintett Adatmezőket tartalmazza, majd a kijelölt terület fölött kattints az egér jobb gombjára, és a megjelenő listában válaszd a Mezőkódok - váltásra!

Előzmény: Ketele69 (34399)
Fferi50 Creative Commons License 2020.05.07 0 0 34400

Szia!

Próbáld a Levelezés menü Eredmény megjelenítése csoportból az Eredmény megjelenítését.

Üdv.

Előzmény: Ketele69 (34399)
Ketele69 Creative Commons License 2020.05.07 0 0 34399

Sziasztok!

Tudom nem közvetlenül Excel probléma, de remélem tudja valaki a megoldást...

 

Van egy körlevelem, aminek - a hozzátartozó excel forrástáblával együtt - megváltozott a helye (másik gép/meghajtó/útvonal)

Természetesen az első indításkor beállítottam az új útvonalat, de a doc megnyitása után (miután rákérdez a frissítésre) nem tölti ki számokkal a táblát, hanem a Mergefield "mezőnév" formátum jelenik meg minden sorban.

Ugyanakkor a Levelezés menüpontban Befejezés/egyesítés (Mind) parancsra már mutatja  a számokat.

Mit kell még beállítani, hogy doc megnyitása után közvetlenül már mutassa a forrásadatokat a levélben?

Köszönöm,

Báthory. Creative Commons License 2020.05.06 0 0 34398

Köszön szépen! Ez hatalmas segítség volt nekem, sok időt spórolok majd vele a jövőben is.:-)

Na meg fogom még elemezni is, mert elsőre nem teljesen világos hogyan is működik.. :-)

 

Köszi!

Előzmény: Fferi50 (34394)
m54-b Creative Commons License 2020.05.06 0 0 34397

Elegáns! (És a lap alján még a hexeditoros is ott van! Éreztem, hogy megint csak a langyosvízet találtam fel. De nem árt az agytornázás, kevésbé hülyül el az ember...)

Előzmény: Eredő Vektor (34396)
Eredő Vektor Creative Commons License 2020.05.06 0 0 34396

Van hexaeditor nélküli megoldás is, alább linkeltem.

(...és SZVSZ nem kell félni semmitől...)

Előzmény: m54-b (34395)
m54-b Creative Commons License 2020.05.06 0 0 34395

Mutatja az Openoffice is, csak meg kellett találnom:

 

 

De ez nagyon aprólékos, sok munka lenne, darabokból újra összerakni. Gondolkodtam, mi lehet a megoldás. Arra jutottam, hogy a jelszó csak "porhintés", mivel az Openoffice figyelmen kívül hagyja, és ott van minden. Csak egy jelző az Excel számára. Próbálkoztam, volt is némi eredmény (2007-es Excel). De ez az a rész, amit ha közzéteszek, esetleg BTK-s, így azzal aludtam el, hogy "csönd".

Felébredve azt gondoltam, hogy nem én vagyok a világ legokosabb embere, másnak is van ilyen problémája. Beütöttem a Googléba az excel vbaproject.bin password szavakat, és tényleg más is foglalkozott ezzel. Íme az első találat linkje: https://stackoverflow.com/questions/22663809/excel-vba-password-via-hex-editor  (lefordítva https://translate.googleusercontent.com/translate_c?depth=1&hl=hu&prev=search&rurl=translate.google.hu&sl=en&sp=nmt4&u=https://stackoverflow.com/questions/22663809/excel-vba-password-via-hex-editor&usg=ALkJrhjmEjz6CsfikGqeIOAUC33BCVH1vQ ).

 

Előzmény: m54-b (34388)
Fferi50 Creative Commons License 2020.05.05 0 0 34394

Szia!

Ez nem egyszerű transzponálás, hanem egyben egymás mellé rendezés is.

Feltételezés: A oszlop = megnevezés, B oszlop adatok. Nálam ez a Munka2 munkalapon van.

Tételezzük fel, hogy egy új munkalapra szeretnéd ezt átrendezni. Ez nálam a Munka3 munkalap.

A lépések:

1. Az új munkalap A oszlopába átmásolod a rendezendő A oszlopát. Ezután eltávolítod az ismétlődéseket (Adatok - ismétlődések eltávolítása).

2. A B oszlop első cellájában a képlet:

=HA(OSZLOP()-2<DARABTELI(Munka2!$A$1:$A$9;Munka3!$A1);INDEX(Munka2!$B$1:$B$9;HOL.VAN(Munka3!$A1;Munka2!$A$1:$A$9;0)+OSZLOP()-2;1);"NINCS TÖBB")

Ez a képlet húzható lefelé és jobbra is. A jobbra húzásnál most "Nincs több" értéket ír a cellába, amikor már nem talál az azonosítóhoz újabb értéket. Ha egyszerre húzod le, akkor nyilván több oszlopban is meg fog jelenni. Ezt csak szemléltetésül írtam be, helyette tehetsz üres szöveget ("") és akkor nem fog látszani semmi.

A képek:

Kiindulás:

Eredmény:

 

Üdv.

Előzmény: Báthory. (34393)
Báthory. Creative Commons License 2020.05.05 0 0 34393

Képek valahogyan lemaradtak..

Ezen a linken nézhető:

https://drive.google.com/drive/folders/1cseK9ydk58Isxz7g0l2oRPdnaEZCFaqz?usp=sharing

 

Köszi!

Báthory. Creative Commons License 2020.05.05 0 0 34392

Sziasztok!

 

A "TRANSZPONÁLÁS" függvényben szeretném a segítségeteket kérni.

Adott egy táblázat mely két oszlopból áll. Első egy egyedi terméknév. Ez ismétlődik többször, és mellette a hozzá tartozó adatok vannak, de minden ismétlődésnél más az adat. Ezeket az adatokat kellene úgy áthelyezni oszlopokból sorokba, hogy az egyedi terméknév mellett megtalálható legyen az összes adat. Az érthetőség kedvéért készítettem két egyszerű mintatáblát. Egy előtte, és utána nézet. Csak a valóságban több ezer sorról van szó, így kézzel másol, beilleszt transzponálva nem jön szóba. :-(

Ugye létezik függvény, de nem jöttem rá, hogyan tudnám neki megadni az a tartományokat...

Ha valakinek van ötlete, azt szívesen veszem. :-)

 

 

 

 

 

m54-b Creative Commons License 2020.05.05 0 0 34391

Tud magyarul. Tapasztalatom nulla, csak kaptam 5 éve, "Ha adnak fogadd el, ha ütnek szaladj el", és az MS offiszom 2007-es, ez újabb. Aztán úgy alakult, hogy (már akkor is) ritkán Excelezek, nem tanultam meg.

Előzmény: James 42 (34389)
m54-b Creative Commons License 2020.05.05 0 0 34390

(Régebbi xls volt... Újabbal nem sikerült. Elnézést!)

Előzmény: m54-b (34388)
James 42 Creative Commons License 2020.05.05 0 0 34389

Az tud magyarul? És mi a tapasztalat vele? Mindent jól kezel, ami Microsoft Office programokkal készült?

Előzmény: m54-b (34388)
m54-b Creative Commons License 2020.05.05 0 0 34388

Nekem nem rak REM-eket, és a mentés másként után látom a formokat az Excelben. (EuroOffice  van most.)

Előzmény: pimre (34387)
pimre Creative Commons License 2020.05.05 0 0 34387

Nem, korlátozott. Az még hagyján, hogy minden sor elé rem-et ír, de a formokat nem mutatja meg.

Előzmény: m54-b (34386)
m54-b Creative Commons License 2020.05.04 0 0 34386

A klasszikus megoldás, hogy megnyitom open offiszban, nem jó?

Előzmény: pimre (34385)
pimre Creative Commons License 2020.05.04 0 0 34385

Kösz, ez kitűnő.

 

Egy Excel 2010-es meglehetősen összetett munkafüzetemet (természetesen xlsm) védtem le hozzá jelszóval. A gépem 64 bites, az Excel 32. A legelső válaszoló kódját másoltam ki egy másik munkafüzetbe, és tökéletes munkát végzett.

Előzmény: Eredő Vektor (34384)
Eredő Vektor Creative Commons License 2020.05.04 0 0 34384

Szia,

Nyilvános a dolog. Innen van és működik:

https://stackoverflow.com/questions/1026483/is-there-a-way-to-crack-the-password-on-an-excel-vba-project

régi xls, xla fájlokon

Előzmény: pimre (34383)
pimre Creative Commons License 2020.05.03 0 0 34383

Ilyesmi érdekel engem is. Kipróbáltam, levédtem jelszóval kódomat. Gondoltam valamire, amivel ki tudom cselezni az xlsx védelem makró tiltását. Bevált. Némi korlátozással, de tudom olvasni a kódot.

 

Nincs valami mintafájlod, amit nem féltesz, és amivel ellenőrizhetném az elképzelésem alkalmazhatóságát? 

 

Szívesen kipróbálnám.

Előzmény: Eredő Vektor (34381)
Eredő Vektor Creative Commons License 2020.05.03 0 0 34382

Hát szívesen, kár, hogy nem az én erényem :)

Előzmény: Paul56 (34376)
Eredő Vektor Creative Commons License 2020.05.03 0 0 34381

Azért nagyot néznék, amikor a nem jogtiszta windozom törölné magát. :)

Egyébként épp a minap vettem használatba egy vba kódot, ami kinyitotta a vba zárat. Igaz, nem xlsx titkosítású, hanem még a régi xls (pontosabb xla)

volt. Gondolom érted miért írom :)

 

Előzmény: Paul56 (34376)
Eredő Vektor Creative Commons License 2020.05.03 0 0 34380

Ezért jók ezek a furcsa kérdések, mert lehet belőle tanulni. Először én is elbizonytalanodtam, mert HOGYAN MÁR...?

Láthatóan a ChangeFilesAcces a titka.

 

 

Előzmény: Fferi50 (34377)
pimre Creative Commons License 2020.05.03 0 1 34379

"...mert ugye ma már mit adnak ingyen?"

 

Például ezen a fórumon a segítséget. Esetenként egész komoly munkát belefektetve a probléma megoldásába. 

Előzmény: Paul56 (34376)
Paul56 Creative Commons License 2020.05.03 0 0 34378

Mindenkinek köszönöm a segítséget, én is megnéztem ezt a linket.

SIKER

További szép napot mindenkinek és vírus mentest!!!

Előzmény: Fferi50 (34377)
Fferi50 Creative Commons License 2020.05.03 0 0 34377

Szia!

Láss csodát. Ez így valóban megy:

Sub DeleteActiveWorkbook()

Dim xFullName As String

xFullName = Application.ActiveWorkbook.FullName

ActiveWorkbook.Saved = True

Application.ActiveWorkbook.ChangeFileAccess xlReadOnly

Kill xFullName

Application.ActiveWorkbook.Close False

End Sub

 

Talán az lehet a titok nyitja, hogy megváltoztatja a ChangeFileAcces tulajdonságot?

 

Üdv.

Előzmény: Eredő Vektor (34375)
Paul56 Creative Commons License 2020.05.03 0 0 34376

Sok évi munkám van benne, rengeteg makrót tartalmaz és nem szeretném majd, hogy a tudtomon kívül minden fizetség nélkül tovább használják.

Végül is a segítségeddel sikerült a fájl törlése.

Lehet még jobb megoldás is, hogy minden feltűnés nélkül végig fut az éppen futtatott makró és mikor bezárják akkor törlődik, ... és ekkor fogják majd a segítségemet kérni:)  mert ugye ma már mit adnak ingyen?

Még1x köszönöm, sokat segítettél!

Előzmény: Eredő Vektor (34374)
Eredő Vektor Creative Commons License 2020.05.03 0 1 34375

itt is azt írják, hogy megy. Ez lehetett talán az eredeti forrás:

https://www.extendoffice.com/documents/excel/3236-excel-delete-current-file-workbook.html

Előzmény: Paul56 (34372)
Eredő Vektor Creative Commons License 2020.05.03 0 0 34374

Ahogy nyitott munkafüzetet sem tudsz törölni - nem tud öngyilkosságot elkövetni, mert aktív. Máshonnan kell futtatni és a törlendő munkafüzet nem lehet aktív.

Én legalábbi nem tudok ilyet, akkor sem, hogy ha itt azt írják, hogy működik: (Persze lehet hogy rosszul értelmezek valamit)

https://www.excelforum.com/excel-programming-vba-macros/561546-delete-kill-active-workbook-on-close-possible.html#post1654922

 

Azért érdekelne miért akarsz ilyet, az a gyanúm, hogy van más út is a cél érdekében.

 

 

 

 

Előzmény: Paul56 (34372)
Fferi50 Creative Commons License 2020.05.03 0 0 34373

Szia!
Bocs, de hogyan képzeled azt, hogy egy  olyan munkafüzet, amelyet éppen nyitva tartasz egyáltalán törölni lehet?

Pláne, hogy egy éppen futó makróval...

Vagy valamit félreértettem?

Üdv.

Előzmény: Paul56 (34372)
Paul56 Creative Commons License 2020.05.03 0 0 34372

Szia, előre is köszi a segítségedet. Valami miatt nem akarja törölni.

 

Ez a sub:

 

Option Explicit
Public munkafuzet As String

Private Sub UserForm_Activate()
Dim evszam As Integer

munkafuzet = Workbooks(ActiveWorkbook.Name).Name
'eltároljuk a munkafuzet nevét
Sheets("Alap").Cells(1, 150) = munkafuzet
evszam = 2019
If Year(Date) <> evszam Then
MsgBox ("Nem futtatható a makró!")

 

On Error GoTo ErrorHandler
With ActiveWorkbook
If .Path <> "" Then
.Saved = True
.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
End If
End With
Exit Sub

ErrorHandler:
MsgBox "Fail to delete file: " & ActiveWorkbook.FullName
Exit Sub

'Set fso = CreateObject("Scripting.FileSystemObject")
'set file = fso.GetFile(munkafuzet)
'file.Delete.Force = True'
End If

Sheets("Alap").Select
End Sub

Előzmény: Eredő Vektor (34371)
Eredő Vektor Creative Commons License 2020.05.02 0 1 34371
Előzmény: Paul56 (34370)
Paul56 Creative Commons License 2020.05.02 0 0 34370

Sziasztok!

 

Abban szeretném a segítségetek kérni, hogy  a makró futtatása során a makrót tartalmazó excelt lehet úgy törölni, hogy még a lomtárból se lehessen visszaállítani?

Köszönettel:Paul

_Nyuszi Creative Commons License 2020.05.02 0 0 34369

Amúgy nekem elég lett volna ennyi is.

Bocs.

:-)

Előzmény: Balu424 (34362)
Eredő Vektor Creative Commons License 2020.05.01 0 1 34368

Viszont legalább őszinte:)

Előzmény: bob lee SWAGGER (34367)
bob lee SWAGGER Creative Commons License 2020.05.01 0 0 34367

mire feleleveníteném az ismereteket már régen végezne vele valaki

 

ez kva jo meglatas! nem sutnel nekem egy pizzat minden reggel? mert amig en megsutom lemegy a nap xD nahpersze ingye

Előzmény: Balu424 (34358)
Eredő Vektor Creative Commons License 2020.05.01 0 2 34366

A fotelhuszárkodós fikázás helyett fogadj inkább szeretettel ennyit is.

Én megpróbáltam, ennyire volt időm.

Gondolván arra, hogy a potyázás(ahogy írtad) mellett annyi van benned, hogy értelmezd önállóan.

Továbbiakban nem kívánok reagálni.

Előzmény: Balu424 (34362)
Delila10 Creative Commons License 2020.05.01 0 0 34365

Makró nélkül. H1-ben megadtam a hosszat. A két szöveg az A1 és B1 cellában van.

A képlet =BAL(A1;$H$1)=BAL(B1;$H$1), ami IGAZ, vagy HAMIS eredményt ad.

Előzmény: Balu424 (34358)
pimre Creative Commons License 2020.05.01 0 0 34364

Ezt nem tudtam. Lehet, hogy ez volt az én esetemben is. Annál is inkább, mert nem szoktam használni az előnézetet, de akkor megtettem, hogy biztos legyek a dolgomban. Nahát ennyire sikerült:-)))

 

Előzmény: m54-b (34363)
m54-b Creative Commons License 2020.05.01 0 0 34363

Akkor történik ilyen, ha az "Előnézet"-re nyomsz, akkor lenyeli az egyiket, visszakerülsz a "Válasz"-ba, akkor már csak egy van, amit a küldéskor tüntet el.

Előzmény: pimre (34356)
Balu424 Creative Commons License 2020.04.30 -3 0 34362

Köszönöm az orbitálisan okos segítséget.

Bírom az ilyen nesze semmi fogd meg jól okoskodásokat.

Ha nem akarsz vagy nem tudsz segíteni, akkor miért szólsz hozzá a bejegyzéshez?  

 

Már más hamarabb, készségesen, valósan segített.

Előzmény: Eredő Vektor (34361)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34361

szöveg.keres vagy szöveg.talál fgvek erre valók. Bal fgvel kombinálva szrtem tökéletes.

Előzmény: Balu424 (34360)
Balu424 Creative Commons License 2020.04.30 0 0 34360

Mert szöveget kellene összehasonlítani és azok nem egyforma hosszúak.  Arra emlékeztem, hogy Feltételes formázás - Ismétlődő értékek,  de pl. 5 karakterig nézze a sorokat .  pl.: Szilágyi  az legyen egyenlő Szilágyszegivel.  Két utcanévlistát kellene összehasonlítni de egyenként hosszú lenne

Előzmény: Eredő Vektor (34359)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34359

Komoly kezdés. De minek ehhez makró.

Előzmény: Balu424 (34358)
Balu424 Creative Commons License 2020.04.30 -1 0 34358

Sziasztok

Szeretnék egy kicsit potyázni :)

szeretném ha valaki írna nekem egy makrót excelben

régebben én is írtam makrókat de olyan régen volt ez hogy mire feleleveníteném az ismereteket már régen végezne vele valaki

arról lenne szó hogy van két adatbázis két külön oszlopban és ezeket kellene összehasonlítani

Kellene egy kis opcióválasztó hogy hány karakterig hasonlítsa össze

Remélem valakinek sikerül segíteni

 

Előre is köszönöm

 

Balu

Eredő Vektor Creative Commons License 2020.04.30 0 0 34357

Nem próbáltam.  Simán elfelejtettem harmadikra is.

Előzmény: pimre (34356)
pimre Creative Commons License 2020.04.30 0 0 34356

Nemrég jártam úgy, hogy a duplát is elnyelte. Valahonnan benne volt a stringben egy, én hozzátettem egy másikat, és mindkettőt elnyelte. Szerintem itt is valami ilyesmi történhetett. Hiszen Eredő Vektor próbálta újra, és mégsem sikerült.

Előzmény: Fferi50 (34353)
Delila10 Creative Commons License 2020.04.30 0 0 34355

Előzmény: Fferi50 (34354)
Fferi50 Creative Commons License 2020.04.30 0 0 34354

Szia!

Köszi, azért kérdeztem, mert nekem elsőre névadással sem működött. Biztosan elírtam valamit.

Miután "felhomályosítottál" már rendes lett. :)

Üdv.

Előzmény: Eredő Vektor (34350)
Fferi50 Creative Commons License 2020.04.30 0 0 34353

Szia!

Igen, csak a blogmotor a backslash-t megeszi, ezért duplázni kell. Ez nem mindig jut eszébe az embernek.

Üdv.

Előzmény: pimre (34352)
pimre Creative Commons License 2020.04.30 0 0 34352

Így kellene: 

1\2\3\4\5\6\7\8\9\10\11\12\13\14\15\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31

 

Előzmény: Eredő Vektor (34347)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34351

Egyébként ezzel a módszerrel remekül lehet splittelni, bármilyen szeparátort meg lehet adni cellából neki. Így ezzel meg lehet spórolni a vba split függvényét ha makrómentes megoldás kell.

Előzmény: Fferi50 (34349)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34350

Szia,

4.0-tól létezik. Mivel vba csak 5.0-tól volt ezért excel 4.0 makrófüggvényeket használtak helyette. A kompatibilitás miatt (is) máig meg is tartották - nagyon helyesen. Ne keresd a függvénylistában. Ha macrosheet-et nyitsz, ott megtalálod angolul. 

Sima munkalapon is használható, de csak névadással.

 

 

Előzmény: Fferi50 (34349)
Fferi50 Creative Commons License 2020.04.30 0 0 34349

Szia!

A KIÉRTÉKEL függvény melyik Excel verzióban van benne?

 

Üdv.

Előzmény: Eredő Vektor (34348)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34348

b@szki

\ jel van a számok között

Előzmény: Eredő Vektor (34347)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34347

A számok között jel van, csak a fórummotorr elviszi

mármint itt:

12345678910111213141516171819202122232425262728293031

Előzmény: Eredő Vektor (34346)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34346

Ha újabb exceled van, akkor tömbképletel szebb,  így még jobb:

=SZÖVEGÖSSZEFŰZÉS(" ";;HAHIBA(KICSI(x;{12345678910111213141516171819202122232425262728293031})&" ";""))

 

tömbképlet, tehát ctrl+shift+enterrel kell bevinni!

persze a {12345678910111213141516171819202122232425262728293031} helyett lett megadni egy olyan tartományt is, ahol ugyanez a sorozat szerepel. (ez jelenleg egy tömbkonstans)

Előzmény: Konisua (34343)
Eredő Vektor Creative Commons License 2020.04.30 0 0 34345

itt van egy lépésben is, makró nélkül:

B1-be: 

=ÖSSZEFŰZ(HAHIBA(KICSI(x;1)&" ";"");HAHIBA(KICSI(x;2)&" ";"");HAHIBA(KICSI(x;3)&" ";"");HAHIBA(KICSI(x;4)&" ";"");HAHIBA(KICSI(x;5)&" ";"");HAHIBA(KICSI(x;6)&" ";"");HAHIBA(KICSI(x;7)&" ";"");HAHIBA(KICSI(x;8)&" ";"");HAHIBA(KICSI(x;9)&" ";"");HAHIBA(KICSI(x;10)&" ";"");HAHIBA(KICSI(x;11)&" ";"");HAHIBA(KICSI(x;12)&" ";"");HAHIBA(KICSI(x;13)&" ";"");HAHIBA(KICSI(x;14)&" ";"");HAHIBA(KICSI(x;15)&" ";"");HAHIBA(KICSI(x;16)&" ";"");HAHIBA(KICSI(x;17)&" ";"");HAHIBA(KICSI(x;18)&" ";"");HAHIBA(KICSI(x;19)&" ";"");HAHIBA(KICSI(x;20)&" ";"");HAHIBA(KICSI(x;21)&" ";"");HAHIBA(KICSI(x;22)&" ";"");HAHIBA(KICSI(x;23)&" ";"");HAHIBA(KICSI(x;24)&" ";"");HAHIBA(KICSI(x;25)&" ";"");HAHIBA(KICSI(x;26)&" ";"");HAHIBA(KICSI(x;27)&" ";"");HAHIBA(KICSI(x;28)&" ";"");HAHIBA(KICSI(x;29)&" ";"");HAHIBA(KICSI(x;30)&" ";"");HAHIBA(KICSI(x;31)&" ";""))

 

A képlet lehúzható nővekvő sorrendet hoz létre a 31. legnagyobb számig.

Előzmény: Konisua (34343)
Fferi50 Creative Commons License 2020.04.30 0 0 34344

Szia!

Néhány lépésben meg lehet csinálni:

Tételezzük fel, hogy az A oszlopban vannak a számok.

1. lépés

Kijelölöd az A oszlopot. Adatok - szövegből oszlopok - tagolt - tovább - határoló jelnek bejelölöd a szóközt - tovább - Rendeltetési hely: C1 cella

2. lépés 

Soronként kijelölöd

Először a C1-től az adatok végéig - Adatok - rendezés - folytatja az aktuális kijelöléssel - beállítások - balról jobbra - szint 1.sor  Ok.  

A további soroknál csak az aktuális kijelölést kell választanod és utána automatikusan jön a többi, csak ok. kell rá.

Ezzel megtörténik a sorba rendezés. Már "csak" össze kell fűzni.

3. lépés

A leghosszabb sor után 1 oszlopot kihagysz. Nálam az N oszlop következett így. Az N1 cellába a következő képlet került:

=C1 & " " & O1  (ha nem az N oszlopban kezded, akkor O1 helyett a következő oszlop legyen). Ezt végighúzod az első soron, addig, amíg a végén üres cellát kapsz.

A képlet lehúzható az N - X oszlopon - a leghosszabb sornak megfelelően. Ezzel az N oszlopban megkapod a rendezett számokat, szóközzel összefűzve.

4. lépés

B1 cella képlete: =N1  Ha nem itt kezdődött az előző lépésed, akkor annak a cellának a címét írd, ahol kezdődött.

5. lépés:

B oszlop kijelölése - másolás - irányított beillesztés értéket.

6. lépés:

C oszloptól minden adat törölhető a végéig.

 

Külön figyelmet érdemel a rendezés, mert azt csak soronkénti kijelöléssel szabad megcsinálni.

Eredmény (ahol látod még a segédek elhelyezkedését is):

Üdv. 

 

Előzmény: Konisua (34343)
Konisua Creative Commons License 2020.04.29 0 0 34343

Adott egy probléma, van egy cella amiben szóközzel elválasztva 1 illetve 2 jegyű számok vannak (persze valójában ez egy szöveg ami csak számokat tartalmaz)
pl: A1 cella tartalma: 27 28 1 15 29 2 16 30 3 17
Azt szeretném elérni, hogy B1 cellába ez sorba rendezve kerüljön át tehát B1 cella tartalma: 1 2 3 15 16 17 27 28 29 30 ez legyen.
Nem tudom valakinek van e ötlete akár egymásba ágyazott függvényekkel akár scriptel erre valami megvalósítást.

sok ilyen cella van egymás alatt és mindegyiket ilyen módon szeretném rendezni.
ráadásul ami bonyolítja a dolgot, hogy a számok amikből a cella tartalma áll még darabszámra sem egyenlő,
van olyan cella amiben csak 2 szám van van amiben 16
a benne felsorolt számok amúgy 1 és 31 között változnak.

Tudom sokkal egyszerűbb lenne, ha a számok cellánként lennének de itt pont ez a nehézség, hogy egy cellán belüli szövegbe rejtett számokat kellene sorba rendezni és újra egy cellába összefűzni.

Fferi50 Creative Commons License 2020.04.28 0 0 34342

Szia!

Az Excel számtárolási módja miatt lehetséges. Mutasd meg a kétféle szorzás eredményét képen, meg azt is, hogy mit szorzol össze, mi van a két másik cellában.

Akkor tudunk pontosabb információt adni.

Üdv.

Előzmény: CsLRich (34341)
CsLRich Creative Commons License 2020.04.27 0 0 34341

Sziasztok!

 

Kérem szépen segítségetek! Van két cellám és ezt szeretném összeszorozni, de nem pontos összeg jön ki, más munkafüzetből érkezik a két szám cellája (pl. =fo!c5 és =fo!c6, igy szeretném összeszorozni a c5 és c6 cellákat, nem pontos érték van)?!Mi lehet a gond? Ha viszont egy cellában, összeszorzom a két számot, akkor jó! Köszönettel, Laci

vw.petya Creative Commons License 2020.04.27 0 0 34340

Hálásan köszönöm, ez működik.

Sajnos totál autodidakta módon tanulgatom a vba-t, némi középiskolai (kb 30 évvel ezelőtti) Pascal előélettel.

 

A For ciklus teljesen tiszta, de ezt például nem tudtam, hogy változót lehet objektum(?) típusként is definiálni.

Van még mit tanulnom.

 

Még egyszer köszönöm!

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

A Select akkor szokott hibára futni, amikor olyasmit szelektálsz, ami nem az aktív munkafüzetben és/vagy munkalapon van.

Egyébként a cellatartalmak másoláshoz nem kell Select utasítással kijelölni sem a munkalapot, sem a másolandó tartományt. Ez csak a makrórögzítő szokása.

Átírtam a makródat, ha nem néztem be valamit nagyon, akkor ennek működnie kell.

 

Sub Helyett()
    Dim GN As Workbook, GNN As Workbook
    Dim NS As Long
    
    Set GN = ActiveWorkbook
    NS = GN.Worksheets.Count

    Workbooks.Add
    Set GNN = ActiveWorkbook
    
    For i = 1 To NS - 9
        GN.Worksheets(i + 1).Range("A1:ZZ100").Copy
        If GNN.Worksheets.Count < i Then GNN.Worksheets.Add after:=GNN.Worksheets(GNN.Worksheets.Count)
        GNN.Worksheets(i).Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
    Next
    Application.CutCopyMode = False
End Sub

 

Próbáld ki, és ha OK, akkor válaszolok az esetleges további kérdéseidre a kóddal kapcsolatban.

Előzmény: vw.petya (34337)
James 42 Creative Commons License 2020.04.27 0 0 34338

Miért kellett két külön változó a munkalapok azonosításához? Ha az elsőt az elsőre másolja, az nem jó?

Előzmény: vw.petya (34337)
vw.petya Creative Commons License 2020.04.27 0 0 34337

Sziasztok,

 

nem vagyok egy rutinos makró készítő. A következő hibába futok bele, és nem igazán jövök rá, mit csesztem el...

A feladat célja lenne, hogy egy nagyobb méretű excel file néhány munkalapjának a tartalmát értékként ki kellene másolni munkalaponként egy másik munkafüzetbe. Erre csináltam egy ciklust, ami elvileg végigmenne az eredeti munkafüzet munkalapjain a 2. munkalaptól, illetve az utolsó 8 már nem kell. A 2. munkalapot még szépen ki is másolja, de amikor a 3. munkalap jön, akkor jön a hibaüzenet, hogy worksheet osztály select metódusa hibás. Mit cseszhettem el? Nem túl hosszú a kód, ezért megosztom:

 

Sub Adatmásolás()

 

Dim GN As String
Dim GNN As String
Dim i As Long
Dim j As Long
Dim OK As Boolean
Dim NS As Long

 

GN = ActiveWorkbook.Name
NS = Sheets.Count
i = 2
j = 1
OK = False

 

Workbooks.Add
GNN = ActiveWorkbook.Name

 

Do

 

 Windows(GN).Activate 
 Sheets(i).Select                              <===Ennél a sornál akad, de először lefut a ciklus
 Range("A1:ZZ100").Select
 Selection.Copy
 Windows(GNN).Activate
 Sheets(j).Select
 Cells(1, 1).Select
 Sheets(j).Paste
 Range("A1:ZZ100").Select
 Application.CutCopyMode = False
 Selection.Copy
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 If i > NS - 8 Then
                          OK = True
                    Else
                           Sheets.Add After:=ActiveSheet
                           i = i + 1
                           j = j + 1
 End If

 Loop Until OK = True
End Sub

 

Köszönöm az esetleges segítséget!

pimre Creative Commons License 2020.04.26 0 0 34336

 

Bocsánat elfelejtkeztem a fórummotor sajátosságáról a backslashekkel.

Szóval: a HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\Common bejegyzés Dock sorában kell a registry értékeket törölni.

 

Előzmény: pimre (34334)
pimre Creative Commons License 2020.04.26 0 0 34334

HEUREKA! Megtaláltam a megoldást. Megírom, hogy közkincs legyen, hátha másnál is jelentkezik a gond.

Itt kaptam a megoldást: https://www.excelforum.com/excel-programming-vba-macros/1212307-vba-screen-organization.html

Tehát a HKEY_CURRENT_USERSoftwareMicrosoftVBA7.0Common Dock sorában kell a registry értéket törölni. Majd az Excel az elindítása után újra beállítja az alapértékeket. Ha jól értelmeztem az egyéb kereséseimet, ez a registry elérés verziófüggetlen lehet. Nekem mindenesetre Excel 2010 alatt működött.

És megnéztem, a 4 nem teljes ablakban a Dockable be van kapcsolva, tehát ez olyasmit jelenthet, hogy ezzel rögzíti a helyét a rendszer.

 

Előzmény: Fferi50 (34328)
magyarpityu Creative Commons License 2020.04.26 0 0 34333

Köszönöm! Végül így formázok: 0,0## (mert a 0,### az egészeket nem jól formázza: 0-ból ''0,'' lesz, akkor inkább legyen 0,0).

Előzmény: Eredő Vektor (34332)
Eredő Vektor Creative Commons License 2020.04.26 0 0 34332

egyéni számformázásnál ezt add meg: 0,###

Előzmény: magyarpityu (34330)
pimre Creative Commons License 2020.04.26 0 0 34331

Kösz, de éppen ezek nem működnek úgy, ahogy - szerintem - kellene. Nehezen állíthatók be, és ha látszólag sikerül, kilépés és újranyitás után elvész az egész. A Dockable meg a legrosszabb. Erre emlékeztem régebbről. Egész képtelen dolgokat művel. Nem is tudom, mit jelent. Tudom, hogy "dokkolható", de nem értem, hogy ez mit takar. Nálam széjjelhúzza az adott elemet, aztán alig sikerül visszaállítani.

 

Valami olyasmi kellene, hogy visszaállíthassam az Excel bizonyos háttérbeli alapbeállításait. Mert telepítés után még jó a VBA képernyő, de ha egyszer elromlott, utólag képtelenségnek tűnik ennek a visszaállítása.

Már másfél órája ezzel szórakozok, ahelyett, hogy az érdemi munkámat csinálnám.

Előzmény: Fferi50 (34328)
magyarpityu Creative Commons License 2020.04.26 0 0 34330

Sziasztok!


Előre is bocsánat a lámer kérdésért, Excelben szeretnék legfeljebb 3 tizedesjegyre formázni számokat úgy, hogy az utolsó nullák ne jelenjenek meg, tehát pl. 1/2 = 0,5 (és nem 0,500), 1/3 = 0,333, 1/4 = 0,25, 1/5 = 0,2, 1/6 = 0,167, stb... Köszönöm előre is!

Eredő Vektor Creative Commons License 2020.04.26 0 0 34329

szerintem helyénvaló, hogy az indirektben használt külső hivatkozás csak "rányitott" álapotban működik.

Az ok pedig az, hogy az inderikt egy stringet értelmez, aminek nincs (nem is lehet) kapcsolata a fájlrendszerrel. Amíg egy más fgvbe direktbe ágyazott külcső csatolás látja a fájlrendszert, látja az excel is, hogy az egy külső csatolás. 

Előzmény: molyos1 (34324)
Fferi50 Creative Commons License 2020.04.26 0 0 34328

Szia!

A VBA ablak WINDOW menüjével próbálj "játszani". A nem teljes ablakoknál a jobb egérgombbal előjön egy Dockable lehetőség, azt is kipróbálhatod.

Üdv.

 

Előzmény: pimre (34327)
pimre Creative Commons License 2020.04.26 0 0 34327

Éppen egy interaktív programot írok sok Userformmal. Egy rossz mozdulattal elrontottam a megszokott VBA képernyőmet, és ezt a képet látom:

 

 

Megszoktam egy elrendezését a képernyőnek, ami úgy nézett ki, hogy minden Form és minden munkalap éppen kitölti a Project és Properties ablakoktól jobbra, és az Immediate és Locals ablakok felett lévő területet.

Ezért nem akarom teljes méretre állítani őket. 

Próbáltam kézzel egyenként beállítani őket, de nem jegyzi meg a rendszer.

Ráadásul a módosulás applikáció szintű, tehát kihat az összes egyéb makróra is az adott gépen.

 

Van megoldás a következőkre:

 

1. Ha észreveszem, hogy egy rossz gombnyomással elállítódott, akkor visszaállítsam a korábbi állapotot. (AZ a baj, hogy ilyenkor hiába nem mentem a fájlt, az elrontott beállítás megmarad)

 

2. Ha igazítok a képernyő elrendezésen, hogyan tudom rögzíteni az állapotot?

Fferi50 Creative Commons License 2020.04.26 0 0 34326

Szia!

Ami azt illeti, én a Symphonie-vel kezdtem, aztán jött a Quattro (vagy fordítva? ma már nem emlékszem pontosan :) . Azután jött az Excel, sok sok év használattal. De amit kerültem benne, az elsősorban az Indirekt függvény volt. Ennek bizony számolás lassító hatása van, azért, amit Delila is leírt. Van még pár ilyen Volatilis függvény. Ha lehet mindig kerülöm az ilyenek használatát. Ráadásul az Indirekt csak megnyitott fájlokat képes külső hivatkozások során kezelni (ahogyan írtad is).

Majdnem mindig lehet más - gyorsabb - függvényt használni.

Üdv. 

Előzmény: molyos1 (34324)
Delila10 Creative Commons License 2020.04.26 0 1 34325

Az INDIREKT volatilis függvény, ami azt jelenti, hogy a füzetben bármilyen változást követően frissül, újraszámol. Ehelyett sokkal gyorsabb az INDEX - HOL.VAN páros alkalmazása.

Előzmény: molyos1 (34324)
molyos1 Creative Commons License 2020.04.26 0 0 34324

Szia!

A nagy ugrás a 2003-as és a 2007-es Excel között volt, és a kezelés lényegesen bonyolultabbá vált.

A 2019-es szerintem az internetes megosztás területén nyújt több és komplikáltabb szolgáltatást 2016-nál, persze az adatforrással való szinkronizálás minimális szintjén, ami az ilyen munkát nagyon lelassítja (ld. outsourcing, home office stb.). Persze lehet, hogy az én ismereteim hiányosak, mindössze 35 éve fejlesztek Excel (Quattro, Lotus 1-2-3, dBase) bázison. (Emlékszik-e még valaki az Office 97-re...?)

 

Szinte kizárólag indirekt függvényeket használok, mert a működése sokkal gyorsabb - kimértem! - a többi kereső függvényénél. (Vajon miért ad hivatkozási hibát frissítéskor, ha nem megnyitott forrásra hivatkozik ellentétben pl. az fkeres - vlookup függvénnyel?)

 

A magam részéről a témát lezártam, a megmaradt időrabló Copy-Paste problémát majd valamilyen kerülő úton megoldom.

Köszönöm az észrevételeidet!

Üdv.

Előzmény: Fferi50 (34323)
Fferi50 Creative Commons License 2020.04.25 0 0 34323

Szia!

 

Nekem 2016-os Excelem van, így nem tudom, hogy a 2019-es hogyan viselkedik.

Azért a képleteket megnézném a helyedben, van-e sok Indirekt pl. bennük, hogyan vannak a tartományok megadva.

Ennél többet innen a távolból nem tudok hozzá tenni. Ha úgy gondolod, esetleg priviben beszélhetünk még, írd egy mail címet, ahol elérhető vagy.

 

Üdv. 

Előzmény: molyos1 (34321)
Tyorotyere Creative Commons License 2020.04.25 0 0 34322

 

Szia! Köszönöm a segítséget! Ennyire nem értek hozzá megmondom őszintén, de utána nézek és megpróbálom megcsinálni. Ha nagyon nem megy akkor még jelentkezem ha nem baj :D

Előzmény: Fferi50 (34314)
molyos1 Creative Commons License 2020.04.25 0 0 34321

Szia,

1. Az adatkapcsolat indításkor nem frissül.

2. Ugyanez futott korábbi Excel verziókon XLS formátumban; a mostaninál sokkal nagyobb méretben - az XLSX formátum csökkentette le a mostani méretre.

3. Mindkét gépen ugyanazokat nyitom meg.

 

Kínomban (már az arcomat lekapartam:) ) behívtam egy üres munkafüzetet (Munkafüzet 1), beállítottam rajta a manuális számítást és elmentettem az XLStart-ba. Így - csodák csodája a kérdéses fájl is manuális számítással indult.

Most már csak azt kellene kitalálni, hogy egy Copy-Paste vagy Cut-Paste művelet miért tart kb. 2-3 percig, mikor a beállításokban minden háttér műveletet letiltottam?

Azért ahogy korábbiaknak, a 2019-es verziónak is vannak komoly hiányosságai...

Üdv.

Előzmény: Fferi50 (34319)
Fferi50 Creative Commons License 2020.04.25 0 0 34320

Szia!

Ha még megvannak a ludaid ( :)  ) akkor egy ötlet:

Számold 2 oszlopban az eltéréseket. Az egyikben a + a másikban a - értékeket, de természetesen a - jel nélkül.

=HA(A1<=B1;B1-A1;"")  -> a pozitív eltérések oszlopa

=HA(A1>B1;A1-B1;"")  -> a negatív eltérések oszlopa

Üdv.

Előzmény: Ketele69 (34307)
Fferi50 Creative Commons License 2020.04.25 0 0 34319

Szia!

Nem hiszem, hogy a méret lenne az oka. Hogyan van beállítva az adatkapcsolatok frissítése? Automatikus a megnyitáskor?

Másrészt a 11,6 Gb azért elég nagy, érdemes lenne megnézni, mitől lett ekkora. Ctrl + End billentyű kombináció a munkalap utolsó használt cellájára ugrik. Ha ez túl van az általad szükségesnek ítélt tartományon, akkor a felesleges oszlopot, sort töröld.

Rögtön kisebb lesz a munkafüzet mérete.

(Apropó, még egy kérdés: fizikailag ugyanazokat a munkafüzeteket nyitod meg mindkét gépen?)

 

Üdv.

 

Előzmény: molyos1 (34318)
molyos1 Creative Commons License 2020.04.25 0 0 34318

Szia!

Ugyanarról a telepítőről lett telepítve, verzió u.a.

Amit írtál a több munkafüzetben beállított számítási metódusról, valóban úgy van. Az applikáció szintű beállítással kapcsolatban kétségeim vannak, mert az Excel indítása után a kérdéses beállítás nem módosítható, csak ha a munkafüzetet behívtam.

Több munkafüzet esetén ezeket egységesen állítottam be manuálisra. A jelenség viszont akkor is fennáll, ha a kérdéses munkafüzetet mentem, majd újra nyitom. Úgy sejtem, hogy a fájl mérete (11,6 GB) okozhat gondot, mert kisebbeknél ilyet nem tapasztaltam. Bár marad a kérdés, hogy a sokkal gyengébb laptopon miért működik a beállítás hibátlanul?

Üdv.

Előzmény: Fferi50 (34316)
Fferi50 Creative Commons License 2020.04.25 0 0 34317

A számolási beállításról írtakat ne vedd figyelembe.

Előzmény: Fferi50 (34316)
Fferi50 Creative Commons License 2020.04.25 0 0 34316

Szia!

Mindkét gépen ugyanaz a verziója az Excelnek?

A manuális számítási beállítás nem marad meg az asztali gépen?

A számítási beállítás Excel (applikáció) szintű, nem pedig munkafüzet szintű. Így amennyiben másik munkafüzetekben automatikus számítás van beállítva, az utána megnyitott munkafüzetben is automatikus lesz szerintem.

A számítások időigényét befolyásolja, hogy milyen tartományok vannak beállítva. Egész sorok/oszlopok (pl. A:A) 

szerepeltetése a képletekben lényegesen lassítja a számolásokat. Ezeket érdemes kiküszöbölni konkrét tartományok használatával (A1:A20000)

 

Üdv.

Előzmény: molyos1 (34315)
molyos1 Creative Commons License 2020.04.25 0 0 34315

Szia!

Függvények: logikai, aritmetikai, kereső, stb. 

A körbe csatoláson azt értettem, hogy mindhárom fájl adatai forrásai a másiknak, körkörösség nélkül.

A fájlok méret 2 - 9 GB

 

És még egy érdekesség: Az asztali gépen (64 bites 8 magos proci, ddr4 16GB RAM) mutatkozik a probléma. A gyengébb laptopon ugyanebben a környezetben megmarad a beállítás.

Üdv.

Előzmény: Fferi50 (34311)
Fferi50 Creative Commons License 2020.04.25 0 0 34314

Szia!

 

Kimutatás a barátod. Legyenek elnevezések az első sorokban.

Átalakítod a listádat táblázattá (beszúrás - táblázat - oszlopfejekkel). Ezután automatikusan bővül a táblázatod a sorok hozzáírásával.

A kimutatás forrásának pedig a táblázatot adod meg. 

Ha hozzá írtál sorokat, akkor frissíted a kimutatást és kész.

 

Üdv.

Előzmény: Tyorotyere (34312)
Eredő Vektor Creative Commons License 2020.04.25 0 0 34313

SZUMHATÖBB()

Előzmény: Tyorotyere (34312)
Tyorotyere Creative Commons License 2020.04.25 0 0 34312

 

 

Sziasztok!

 

A segítségeteket szeretném kérni! 

 

A csatolt képen látható az A, B, C oszlopban nevek, hozzá tartozó módozat és az ár. Ez egy jutalék lista ezért folyamatosan fog bővülni függőlegesen lefelé ahogy telik az év, ezért a nevek ebben a listában többször is benne lesznek. 

 

Szeretném kigyűjteni ebből a listából nevenként és módozatonként az értékeket. Az E, F ,G oszlopba szeretném ezt kimutatni, de úgy hogy egy névhez tartozó módozat összes értékét a G cellákba adja össze vagy nekem az is jó ha adott sorban egymás után kiírja amit talál. 

 

Cél: szeretném tudni, hogy egy adott névhez tartozó biztosítás (módozat) -ra mennyi pénzt kapok összesen.

 

Köszönöm szépen!

 

 

Fferi50 Creative Commons License 2020.04.25 0 0 34311

Szia!

 

Milyen függvényeket használtok a fájlokban? Mit jelent az, hogy körben csatolódnak? 

 

Üdv.

Előzmény: molyos1 (34310)
molyos1 Creative Commons License 2020.04.24 0 0 34310

Üdvözlet a Fórumozóknak!

Tud-e valaki segíteni?

Excel 2019-en futtatok többek között három fájlt, amelyek körbe csatolódnak. Az egyik 7500 sorból áll, amely frissítése kb. 35-40 sec. Hiába állítom be az átszámolást manuálisra, akkor is számol, és a következő megnyitáskor vissza áll automatikus átszámolásra, így egy egyszerű néhány adatos bevitel 5-10 perc.

 

Office XP, 2003, 2007 verzióknál ilyen probléma nem volt - bár a mentés előőti újra számolás perces nagyságrendű volt.

 

Van-e javaslat; előre is köszönöm. 

Üdv.

Törölt nick Creative Commons License 2020.04.24 0 0 34309

Ha tucc angolul, akkor van itt egy tipp, miszerint ha átállítod a munkafüzetet az 1904-es dátumrendszerre, az tudja kezelni a negatív intervallumokat, sőt még össze is adja őket.

https://excelribbon.tips.net/T006239_Displaying_Negative_Times.html

Előzmény: Ketele69 (34307)
Fferi50 Creative Commons License 2020.04.23 0 0 34308

Szia!

Az Excel nem tudja a negatív időt/dátumot kezelni. Ezért az alábbi lehetőségeid vannak:

1. Amit Delila javasolt. Hátránya, hogy nem szám lesz a végeredmény

2. Használd az ABS (abszolut érték) függvényt az eredmény megjelenítésére. A negatív jelleget feltételes formázással emelheted ki (képlet A1>B1). Vagy segédoszlopban az A-B viszony alapján 1 és -1 értéket írsz, Ezzel számolni is fogsz tudni:

C oszlop képlete =ABS(B-A), Segédoszlop (D) képlete: HA(A>B;-1,1) Összesítés: Szum( C*D)

3. A C oszlopnál a cellaformátumot állítsd számra - ekkor megjelenik a negatív érték is. Mellette egy segédoszlopba váltsd át időre D képlete =ABS(C), formátum idő. Az összesítést pedig csinálhatod a C oszlop alapján. Vagy fordított sorrendben.

 

Üdv.

Előzmény: Ketele69 (34307)
Ketele69 Creative Commons License 2020.04.23 0 0 34307

Köszönöm, jól jeleníti meg a keresett értéket, de nem tudom összeadni az oszlopban az értékeket, gondolom a szöveggé átalakítás miatt.....van erre is megoldás? Ez egy havi tábla napi bontásban.

Előzmény: Delila10 (34304)
Eredő Vektor Creative Commons License 2020.04.23 0 0 34306

Húzd be értéknek és sornak is azt a mezőt, amiben a rendelések vannak (PO, vagy akármi tartalmú mezők)

Így megkapod, hogy melyikből hány darab van az értékmezőben. A sormezőben pedig megkapod azt, hogy hány darab "egyedi" rendelésed van. (Persze meg kell számolni valamivel utóbbiaknak a darabszámát: pl DARAB() fgv.)

Mondjuk a kérdést úgy tetted fel, mintha ott ülnénk melletted a monitorodat nézve.:))

Előzmény: Szabina5 (34305)
Szabina5 Creative Commons License 2020.04.23 0 0 34305

Sziasztok,

Segítséget szeretnék kérni.

 2019-es megrendeléses adatokból kell készítenem kimutatásokat megrendelés darabszám alapon.

Azonban mivel a rendeléseink több tételt is tartalmaznak, így a ha PIVOT-ba rendezem az adatokat, a rendelés darabszámnál gyakorlatilag éves rendelési tétel darabszámot kapok.

Hogyan tudom ezt a problémát kezelni a PIVOT-ban, vagy az az alap adatoknál függvénnyel?

( én azt néztem meg, ha egy külön oszlopban minden többször szereplő PO számnál csak az elsőre írna 1-et, a többi ua PO számnál 0-át, akkor már működne a kimutatás PIVOT-ban. De ehhez nem tudom a függvényt összerakni :) ) 

 

Előre is köszönöm szépen a segítséget!! :)

Üdv

Delila10 Creative Commons License 2020.04.23 0 0 34304

C1:  =HA(A1>=B1;SZÖVEG(A1-B1;"óó:pp");"-" & SZÖVEG(ABS(B1-A1);"óó:pp"))

Előzmény: Ketele69 (34303)
Ketele69 Creative Commons License 2020.04.23 0 0 34303

Sziasztok!

 

Az időformátum fogott ki rajtam.

 

A1 cellában rögzítve: 9:00

 

B1 cellában számított adatként: 8:45

 

C1 cellában szerettem volna azt megjeleníteni, hogy -0:15 (vagyis 15 perc mínuszban vagyok!)

 

De az időformátum a mínuszt nem értelmezi. Mi a megoldás?

 

Köszönöm,

Fferi50 Creative Commons License 2020.04.22 0 0 34302

Szia!

Benne van az üzenetben: "Ez a dokumentum makrókat, ActiveX-vezérlőket, XML nyelvi bővítőcsomagokkal kapcsolatos információkat vagy webösszetevőket tartalmaz. Ezekben szerepelhetnek olyan személyi adatok, melyeket a Dokumentumfigyelő nem távolít el."


A makrókban stb. szereplő személyes (érzékeny) adatokat az Excel dokumentum figyelő szolgáltatása nem tudja eltávolítani.

Tehát, ha nem szeretnéd, hogy ilyen adatok mentésre kerüljenek a munkafüzettel, azokat neked kell kézzel kigyomlálni ezekről a helyekről. Ha ilyen adatok nincsenek, akkor bátran hagyd a figyelmeztetést figyelmen kívül.

 

Üdv.

Előzmény: bé.laci (34301)
bé.laci Creative Commons License 2020.04.22 0 0 34301

Kedves Excel Guruk!

 

Meg tudnátok mondani, hogy tudom megtalálni a probléma forrását a következő üzenetnél?

 

 

"Biztonsági figyelmeztetés: Ez a dokumentum makrókat, ActiveX-vezérlőket, XML nyelvi bővítőcsomagokkal kapcsolatos információkat vagy webösszetevőket tartalmaz. Ezekben szerepelhetnek olyan személyi adatok, melyeket a Dokumentumfigyelő nem távolít el."

 

2010-es Excel.

 

Fferi50 Creative Commons License 2020.04.20 0 1 34300

Szia!

"Nekem alapból nincs olyan cellán, ami tartalmazná a mai dátumot. 

Nos, akkor miből fogod tudni megállapítani, hogy megnyitották-e ma már munkafüzetet?

Szerintem "ki kell nevezni" egy cellát, amiben a napi dátumot tárolod - értékkel és nem a ma() függvénnyel! - . Ezután a fájl megnyitásakor ezt kell összehasonlítanod a mai dátummal. 

Ha a cella üres (mert első alkalommal amikor az ellenőrzést indítod, lehet akár üres is - minden más esetben már benne lesz egy dátum), vagy a cellában levő érték kisebb mint az adott nap, akkor megy a figyelmeztetés, egyébként kihagyható.

Üdv.

Előzmény: Mikee64 (34299)
Mikee64 Creative Commons License 2020.04.20 0 0 34299

Köszönöm!

 

Nekem alapból nincs olyan cellán, ami tartalmazná a mai dátumot. Azt külön nekem létre kell hoznom? Vgay van más módja, hogy érzékelje, hogy mi a dátum és hogy aznap először nyitják ki, vagy már volt nyitva?

Előzmény: Fferi50 (34293)
GergelySzam Creative Commons License 2020.04.20 0 0 34298

Igazad lehet, kicserélgettem az "ActiveSheet' hivatkozásokat konkrét nevekre.

Elsőre le is futott rendesen.

 

Köszi a tippet!

 

 

 

Előzmény: Törölt nick (34291)
Sheeny Creative Commons License 2020.04.17 0 0 34297

Szuper , Így működik ! Köszönöm !

Előzmény: Fferi50 (34296)
Fferi50 Creative Commons License 2020.04.17 0 0 34296

Illetve a HA és HIBÁS függvényekkel tudod kiíratni a keresett szót:

=HA(HIBÁS(SZÖVEG.KERES("b";A1));HA(HIBÁS(SZÖVEG.KERES("C";A1));HA(HIBÁS(SZÖVEG.KERES("Y";A1));"NINCS";"Y");"C");"b")

Előzmény: Fferi50 (34295)
Fferi50 Creative Commons License 2020.04.17 0 0 34295

Szia!

Használd a HAHIBA függvényt a SZÖVEG.KERES függvénnyel párban.

=HAHIBA(SZÖVEG.KERES("b";A1);HAHIBA(SZÖVEG.KERES("X";A1);HAHIBA(SZÖVEG.KERES("Y";A1);"")))

Üdv.

Előzmény: Sheeny (34294)
Sheeny Creative Commons License 2020.04.17 0 0 34294

Sziasztok
Segítségeteket szeretném kérni.
Adott egy sok1000 soros lista. Az egyik oszlopában (itt most ez a "B" oszlop) szerepelnek adatok amiben keresnem kell szavakat.
A cél az lenne, hogy egy adott cellában valahol szerepel az adott szó, akkor azt írja ki egy másik oszlopba.
Tök jó, mert a SZÖVEG.KERES és a HA függvényekkel ez megoldható.... hittem én.

A probléma az, hogy a HA függvény csak az első feltételt értékeli csak ki.
Az is érdekes, mert amúgy hibát mutat a B1 -es cella kiértékelésekor (#érték) mert ugye abban a cellában pont nincs ilyen szó, ellenben a következőben (B2) már van és jól ki is írja (SA)
A 3. ban is van és arra már nem hozza az eredményt (admin).Itt ugye a feltétel már az első HAMIS ágon van.
Arra tudok gondolni, hogy a Ha függvény első feltételének #érték hibája miatt nem ugrik a HAMIS ágra, de akkor az IGAZ-ra miért ad jó eredményt?
Biztos én nézek be valamit de nem tudok rájönni :(

Hogy jobban lehessen látni a C oszloptól látható a szöveg.keres függvény eredménye külön-külön, látható, hogy a feladatot elvégzi, kiírja hogy hányadik karinál kezdődik az adott szó.
Ezeket szeretném  (C,D,E) több HA függvény egymásba ágyazásával kiíratni, úgy, hogy ha az érték nagyobb mint 0 akkor írja ki hogy Service accounts (SA), vagy Admin, stb szavakat az A oszlopba.
A special-t már nem csináltam meg de az sem működik az eredeti táblámban.

(nyilván a C,D,E oszlopokra nincs szükség, csak kíváncsi voltam, hogy amúgy működik-e :) )


Mi lehet a gond ?
Köszi

Fferi50 Creative Commons License 2020.04.17 0 0 34293

Szia!

A Workbook Open eseményébe tedd a következőket:

Nézd meg, hogy az erre szolgáló cellában van-e már mai napi dátum. Ha nincs,

a cellába jegyezd be a nyitás időpontját. Add ki a figyelmeztetést.

Ha van, nem kell figyelmeztetés.

Workbook Open eseményhez így jutsz:

Alt+F11 A bal oldalon fel vannak sorolva az objektumok. Kattints kettőt a Thisworkbook-ra. A bal oldali lenyílóban válaszd ki Workbook. A jobb oldali lenyílóban Open. Ide írhatod az utasításokt.

 

Üdv.

Előzmény: Mikee64 (34292)
Mikee64 Creative Commons License 2020.04.17 0 0 34292

Sziasztok!

Segítséget szeretnék kérni. Azt szeretném megoldani, hogy ha valaki kinyit egy konkrét munkafüzetet, akkor az nem számít, hogy egy napon belül hányszor nyitja ki, de a napi első kinyitáskor jöjjön fel egy figyelmeztető üzenet, hogy nehogy elfelejtsen egy konkrét beállítást megcsinálni, mielőtt dolgozni kezd a táblázat adataival

Törölt nick Creative Commons License 2020.04.17 0 0 34291

Első blikkre azt javasolnám, hogy cseréld ki az összes ActiveSheet-et egzakt hivatkozásra.

 

Pl.

If ActiveSheet.AutoFilterMode Then  helyett   If Worksheets("Data_link").AutoFilterMode Then

 

ActiveSheet-re hivatkozni nagy lutri, különösen amikor fájlokat nyitogatsz meg.

Még ha nem is ez okozza a problémát, akkor is rossz gyakorlat.

Előzmény: GergelySzam (34290)
GergelySzam Creative Commons License 2020.04.17 0 0 34290

Sziasztok,

van egy excel macro ami megnyit fájlokat és átmásol adatokat egy sheetre (sima ügy)

Beállítottam, hogy még a másolás előtt a cél táblázatban csekkolja az autofiltert és ha van és be van kapcsolva, kapcsolja ki.

Nekem szuperül ki is kapcsolja(!) az autofiltert ha futtatom, de a kollegámnak nem. Olyan mintha neki a macro átugorná ezt a szakaszt.

 

Worksheets("Data_link").Activate
Range("A2").Select

 

' ~˘O=o> --------!!!! AZ AUTOFILTER TurnOFF !!!!-------

 

If ActiveSheet.AutoFilterMode Then
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
ElseIf ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If

 

' --------!!!! AZ AUTOFILTER TurnedOFF !!!!------- ~ˇO=o>

 

 

 

 

Ha VBA debuban Shift+F8 cal végiglépkedek neki, akkor pedig simán elvégzi.

De ha futtatom akkor nem.

 

Valaki tudja mi lehet a gond?

Előre is köszi!

gemu

 

 

 

Fferi50 Creative Commons License 2020.04.17 0 0 34289

Szia!

Azt értem, hogy miért a B oszlopot nézed.

Ezt viszont nem igazán:

Range(rng.Offset(10), rng.End(xlDown)).EntireRow.Hidden = True 

Papírforma szerint ez hagy neked + 8 sort láthatónak az utolsó sorod alatt.

Eredetileg ez volt:

Range(rng.Offset(2), rng.End(xlDown)).EntireRow.Hidden = True

 

 

Ez a makró nem fut le automatikusan, minden egyes beírás után el kellene indítanod. Viszont ha egyszer lefuttattad, akkor ajánlom figyelmedbe a 34274 hozzászólásomat, amiben az eseménykezelésre adtam példát:

A munkalap kódlapjára az eseménykezeléshez pedig érdemes bevinni a következőt:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Offset(1, 0).EntireRow.Hidden Then
            Target.Offset(1, 0).EntireRow.Hidden = False
    End If
End Sub

 

Ebben az esetben ha az utolsó sorban bármelyik oszlopba írsz valamit, automatikusan hozzáadódik egy új üres sor.

 

(Figyelem: Ha az üres sor előtti sorban kitörölsz mindent a cellákból, akkor nem fog az utána levő üres sor elrejtődni.)

 

Üdv.

Előzmény: Meredris (34288)
Meredris Creative Commons License 2020.04.17 0 0 34288

Szia,

 

 

a makró igy müködik nagyjabol müködik. De valahogy nem teljesen ugy ahogy szerenem:

 

Sub X()
Dim rng As Range, ws As Worksheet
Set ws = ActiveSheet
Application.ScreenUpdating = False
ws.Range("B:B").EntireRow.Hidden = False 'minden sor megjelenítése
Set rng = ws.Range("B" & ws.Rows.Count).End(xlUp)                                            'legalsó értékes cella az A oszlopban
On Error Resume Next
ws.Range("B15", rng).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True         'legalsó értékes cella fölött az üres sorok (ha vannak) eltüntetése
Range(rng.Offset(10), rng.End(xlDown)).EntireRow.Hidden = True                          'legalsó értékes cella alatt 2-vel, és onnantól lefelé az üres sorok eltüntetése
Application.ScreenUpdating = True
End Sub

 

igy irtam át.

 

A problemam a makroval hogy a ws.Range("B15", rng) resznel ha beirok mondjuk a B oszlop 15. cellajaba valamit nem ad hozza automatikusan az uj üres a B16 cella szamara egy sort.

Illetve szamomra az is fontos lenne hogy ugyan ezt megcsinalja a többi oszlopnal is.

 

Köszi a segitseged!

Előzmény: Törölt nick (34273)
pimre Creative Commons License 2020.04.17 0 0 34287

Köszönöm. Nálam csak a textbox change és a textbox beforeupdate jön számításba, és ezeknél igyekszem nagyon szigorúan használni az enableevents-et helyettesítő változómat. Éppen ezért nem találtam nyomát annak, hogy egyes helyeken miért volt más a tartalma, mint amit vártam. (Erre teszt üzemben figyelő és szükség esetén leállással egybekötött figyelmeztető üzeneteket helyeztem el, így derült ki egyáltalán a hiba)

 

Megjegyzem, ma regdélelőttel, amióta tudom, hogy a Call Stack ellenőrizné az odavezető utat, egyszer sem jelentkezett a hiba.

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

Látatlanban 2 dolgot néznék meg:

- Nincs-e esetleg ez a változó tévedésből több helyen definiálva. Pl. globális változóként valahol egy kódodulon, és még privátként is a userform kódlapján, esetleg szubrutinon belül is? Nálam időnként előfordul, hogy programírás közben paradigmát váltok, újratervezek, egy lokális változót átteszek globálisba, de elfelejtem törölni a lokális deklarációt. Aztán nézek furán, hogy miért csinálja a program azt, amit.

- Előfordulhat-e, hogy egy olyan eseménykezelő is lefut, amire nem gondolsz? Pl. ha programból módosítod egy control értékét a userformon, az a control Change eseményét is kiváltja. Vagy ha a form-on manuálisan módosítasz egy textbox-ot, akkor ezek mind játszhatnak:

textbox enter
textbox change
textbox beforeupdate
textbox afterupdate
textbox exit

Előzmény: pimre (34282)
Törölt nick Creative Commons License 2020.04.17 0 0 34285

"Ps.(úgy gondolom, mindezeket te a kisujjadból kirázod egyébként."

 

Dehogy. Éppen az a másik fő érvem a GoTo 0 használata mellett, hogy számomra sem teljesen tiszta, meddig tart a különféle hibakezelések hatása.

Mondjuk, ebben a konkrét Resume Next esetben meg voltam győződve arról, hogy az elképzelésem helyes, azért előbb utána kellett néznem, hogy nem hülyeséget írok-e le :-)

 

Előzmény: Fferi50 (34280)
pimre Creative Commons License 2020.04.17 0 0 34284

Köszönöm. Halványan emlékeztem, hogy néhány éve te említettél valakinek a kérdésére egy ilyen lehetőséget. Most, hogy megírtad, már be is ugrott, ez volt az a parancs. Csak akkor nem foglalkoztam vele, de most kipróbálom. Szerintem ez lesz nekem a megoldás.

A másik lehetőség nekem is eszembe jutott, csak bonyolult lenne minden meghívott Sub/Function elejére beírogatni.

A lépésenkénti futtatás nem megoldás itt, mert teljesen váratlanul jön elő a hiba. Látszólag ugyanazon az útvonalon kétszer nem jelentkezik, harmadszorra, vagy negyedszerre igen.

A Watch window meg ugyanezért lenne nehézkes. Hiszen az adott változó True/False beállítását túl sűrűn használom ahhoz, hogy informatív legyen a megállás az egyes váltási pontokon.

De a Call Stack remélhetőleg segíteni fog.

Előzmény: Fferi50 (34283)
Fferi50 Creative Commons License 2020.04.16 0 0 34283

Szia!

Ha egymásba épülő hívások vannak, akkor a Call Stack megmutatja, honnan jutott oda a program, rekurzíve vissza lehet nézni.

Viszont ha különböző rutinok egymás után (egymás mellett) futnak, akkor ez az út nem járható.

Ilyenkor szerintem a Debug.Print "programnév", változó értéke adhat segítséget. (A programnév az amit szövegesen megadsz, hogy honnan íratod ki a változót.

No és persze a lépésenkénti futtatás és a változó figyeltetése (Watch Window) is segíthet.

Üdv. 

Előzmény: pimre (34282)
pimre Creative Commons License 2020.04.16 0 0 34282

Sziasztok, tudtok valami olyan eszközt, ami a program egy adott pontján megállítva megmutatja a program útvonalát visszamenőleg 2-5 végigjárt szubrutin/funkcióhívás megadásával?

 

Van egy változóm, amit az EnableEvents kiváltására használok UserFormokon, és  időnként számomra váratlanul más értéket, mint amit - hitem szerint - a lehetséges útvonalon megadtam neki. Ahol téves az érték, ott megállítom, de nem találom az eltérés okát. Ezért lenne jó látni akárcsak 2-3 előzmény helyet, hátha ott kerül téves vágányra a program.   

pimre Creative Commons License 2020.04.16 0 0 34281

Persze, értem. Már az előző bejegyzésem is arról szólt, hogy tévedésben voltam ezzel kapcsolatban. 
Egy nagyon régi emlék, ami ezt hitette el velem, egy nagyon nehezen kinyomozott hibajelenség. Már csak halványan rémlik, hogy egy resume next miatt átugrott hibát nem vettem észre. Nyilván ugyanabban a szubrutinban volt a második is, csak én akkor - tévesen - azt a következtetést vontam le a jelenségből, hogy a hatás a kikapcsolásig tart. Így most tanultam valamit.  

Előzmény: Törölt nick (34279)
Fferi50 Creative Commons License 2020.04.16 0 0 34280

Szia!

Ha már ennyire belemerültünk a hibakezelésbe, még egy megjegyzést engedj meg:

A "főprogramban" kiadott hibakezelési utasítás kihatással van az "alprogramra- szubrutinra" is, ha abban nincs újabb hibakezelési utasítás

Az On Error Resume Next utasítás esetén az alprogram hiba utáni része nem kerül végrehajtásra, a vezérlés visszakerül az alprogram meghívása utáni utasításra.

On Error Goto cimke  utasítás esetén visszaugrik a hiba esetén a hibakezelési cimkére és szintén nem megy tovább az alprogramban.

Tehát a hibakezelésre minden esetben figyelmet kell fordítani.

Üdv.

Ps.(úgy gondolom, mindezeket te a kisujjadból kirázod egyébként.)

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

Futtasd le a main szubrutint lépésenként (F8):

 

Sub main()
    Dim rng As Range
    subr
    Set rng = Range("A" & Rows.Count).Offset(1)
End Sub

Sub subr()
    Dim rng As Range
    On Error Resume Next
    Set rng = Range("A" & Rows.Count).Offset(1)
    Debug.Print "túl vagyunk az 1. hibán"
    Set rng = Range("A" & Rows.Count).Offset(1)
    Debug.Print "túl vagyunk a 2. hibán"
End Sub

Előzmény: pimre (34278)
pimre Creative Commons License 2020.04.16 0 0 34278

Köszönöm. Eddig abban a tévhitben éltem, hogy a teljes programban megmarad az On Error Resume Next hatása.

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

Elvben jogos, szoktam is használni a GoTo 0-t, pont azért, amit leírtál.

Ebben a speciális esetben azért nem tettem bele, mert

- az On Error Resume Next élettartama a szubrutin végéig tart,

- a szubrutin végéig egyetlen egy kódsor van, ami hibára futhat,

- ha a hiba bekövetkezik, akkor az azért lesz, mert a felhasználó az A1048575 cellába ír adatot (mekkora ennek a valószínűsége?), és itt az Offset(2) lesz problematikus

- de ez esetben szerintem nem is baj, ha az Excel nem ad a hibaüzenetet.

Előzmény: pimre (34275)
Törölt nick Creative Commons License 2020.04.16 0 0 34276

Igen, lehet automatizálni, csak jól körbe kell járni minden eshetőséget, pl. mi van, ha nem beír, hanem töröl egy adatot, ha egyszerre több cellát módosít, stb.

Én ha automatizálni akarnám, akkor az eseménykezelőből inkább a saját szubrutinomat hívnám meg, mert az már a kész, letisztult helyzet alapján dolgozik.

Előzmény: Fferi50 (34274)
pimre Creative Commons License 2020.04.16 0 1 34275

Bocs, egy apró kiegészítés:

 

Az On Error Resume Next parancsot követő valamelyik sorba (legcélszerűbb a másodikba) ki kell adni egy

On Error Goto 0 parancsot, ami hatástalanítja a Resume-ot.

Enélkül a program futása alatt egyetlen későbbi valós hibaüzenet sem fog megjelenni, ami gyakran érthetetlennek látszó következményekhez vezet..

Előzmény: Törölt nick (34273)
Fferi50 Creative Commons License 2020.04.16 0 0 34274

A munkalap kódlapjára az eseménykezeléshez pedig érdemes bevinni a következőt:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Offset(1, 0).EntireRow.Hidden Then
            Target.Offset(1, 0).EntireRow.Hidden = False
    End If
End Sub

 

Így ha az utolsó (vagy egy elrejtett sor fölötti) sorba ír, az alatt levő felfedődik automatikusan.

 

Üdv.

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

Próbáld ezt:

 

Sub X()
    Dim rng As Range, ws As Worksheet
    Set ws = ActiveSheet
    Application.ScreenUpdating = False
    ws.Range("A:A").EntireRow.Hidden = False                'minden sor megjelenítése
    Set rng = ws.Range("A" & ws.Rows.Count).End(xlUp)       'legalsó értékes cella az A oszlopban
    On Error Resume Next
    ws.Range("A1", rng).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True  'legalsó értékes cella fölött az üres sorok (ha vannak) eltüntetése
    Range(rng.Offset(2), rng.End(xlDown)).EntireRow.Hidden = True               'legalsó értékes cella alatt 2-vel, és onnantól lefelé az üres sorok eltüntetése
    Application.ScreenUpdating = True
End Sub

A kommentekez kiegészítésként: az minősül "üres sornak", amelynek az A oszlop metszere üres cella.

A munkalapodból valószínűleg azért látszik csak 200 sor, mert a többi el van rejtve. Ha a fenti makrót lefuttatod, hasonló eredményt kapsz majd, olyan értelemben, hogy a munkalap alsó (üres) sorai nem fognak látszani.

 

Előzmény: Meredris (34272)
Meredris Creative Commons License 2020.04.16 0 0 34272

Sziasztok! A segítségetekre lenne újra szükségem egy feladathoz.

 

Egy makrót szeretnék írni.

 

Amit el szeretnék írni hogy egy olyan munkalapom legyen amelynek csak annyi sora van amennyit kitöltök és +1 sor.

+1 sor hogy persze ha valami plussz dolgot szeretnék beleírni akkor azt meg tudjam tenni.

Illetve +1 sor hogyha abba a sorba beleírok magától hozzon létra a makró egy új sort azonnal ahova megint tudok írni.

 

Igy kezdtem el.: (Ez csak az elrejtésre jó ugye illetve létrehoz +1 üres sort)

 

Sub Zeilen_elrejtes()
Application.ScreenUpdating = False
For i = 1 To 200
If Cells(i, 1).Value = "" Then
Rows(i + 1).Hidden = True
End If
Next i
Application.ScreenUpdating = True
Range("A1").Select
End Sub

 

A munkalapomon eleve valahogy csak 200 sor látszik a többi része lefelé a munkalapnak teljesen szürke.

Ezt is szerettem volna megkérdezni hogy hogyan lehetséges egy excelben ilyen határt szabni úgymond a munkalapnak.

 

A kérdésem az lenne hogy hogyan tudok sort hozzáadni a már meglévő előző makróhoz azt sajnos nem tudom megoldani.

 

Segítségeteket lőre is köszönöm!

 

Eredő Vektor Creative Commons License 2020.04.15 0 0 34271

+1 helyett -1 a végén

Előzmény: Eredő Vektor (34270)
Eredő Vektor Creative Commons License 2020.04.15 0 0 34270

Pl, ha e18-ban a szöveg:

=BAL(E18;SZÖVEG.KERES(KARAKTER(10);E18;1)+1)

Előzmény: tekeoff (34269)
tekeoff Creative Commons License 2020.04.15 0 0 34269

Sziasztok!

Tudtok segíteni abban, hogy mi a képlet arra, ha egy több soros (ALT+ENTER) cellából csak az első sort szeretném átvenni egy másikba?

Köszönöm.

NyB84 Creative Commons License 2020.04.14 0 0 34268

Remek. Köszi mégegszer!

Előzmény: Fferi50 (34267)
Fferi50 Creative Commons License 2020.04.14 0 0 34267

Szia!

Természetesen. 

Vagy teszel egy aposztrófot (') a sor elejére  (akkor megjegyzésnek minősül).

Üdv.

Előzmény: NyB84 (34266)
NyB84 Creative Commons License 2020.04.14 0 0 34266

Szuper. Tökéletes :)

 

Nagyon szépen köszönöm.

 

Még annyi esetleg, hogy ha nem akarom, hogy a kérdés után újra feljöjjön egy leokézó gomb (törlöm / nem törlöm), akkor csak simán kiveszem az alábbi 2 sort?

 

MsgBox "törlöm"

...

MsgBox "nem törlöm"

 

 

 

Előzmény: Fferi50 (34265)
Fferi50 Creative Commons License 2020.04.14 0 0 34265

Szia!

(Mondjuk, azt nem értem, hogy miért nem kérdezi meg, hogy törölhető-e, lehet, hogy épp védett cellával próbáltad?)

Egy picit módosítva a makró:

Sub nodelete()
If ActiveSheet.Name <> "DOSSZIÉ" Then Selection.Value = "": Exit Sub
If Not Intersect(Selection, Range("$C$9:$AE$130")) Is Nothing Then
If MsgBox("Valóban törölni szeretnéd az adatot", vbExclamation + vbYesNo) = vbYes Then
MsgBox "törlöm"
Selection.Value = ""
Else
MsgBox "nem törlöm"
End If
End If
End Sub

 

A Thisworkbook kódlapjára menj át (a bal oldali listában kattintasz rá kettőt), a bal lenyílóban válaszd ki a Workbook - ot.

A jobb oldali lenyílóban az Open eseménykezelőt. Ide másold át a munkalap Activate eseménykezelőjében levő két sort:

Application.OnKey "{DEL}", "nodelete"

Application.OnKey "{BACKSPACE}", "nodelete"

Ezután válaszd a BeforeClose eseménykezelőt. Ide pedig a munkalap DeActivate kezelőjében levő két sort.

Application.OnKey "{DEL}"

Application.OnKey "{BACKSPACE}"

 

A munkalap kódlapjáról az Activate és Deaktivate eseménykezelő törölhető.

Ments el, zárd be és nyisd meg újra.

Elvileg működnie kell és csak a Dosszié nevű munkalap adott területén.

 

Üdv.

 

Előzmény: NyB84 (34263)
Meredris Creative Commons License 2020.04.14 0 0 34264

Szia,

 

 

Ez a megoldas isten csaszar volt!

 

De jo nagyon örülök köszi szepen <3 :D

Előzmény: Fferi50 (34259)
NyB84 Creative Commons License 2020.04.14 0 0 34263

Kipróbáltam ahogy mondtad. Megnyitás után először még simán lehet törölni (mintha mi sem történt volna), viszont miután váltogattam a munkalapok közt, utána már nem lehet törölni. Egyáltalán nem, de még csak rá se kérdez, hogy akarom-e törölni vagy sem. Max átírni lehetne a meglévő nevet, de ez úgy annyira nem jó.  

Mivel sok ember használná ezt a fájlt kényelmesebb lenne ha nem kéne lapfül váltogatással trükközni, ha úgy meg lehet oldani.

Előzmény: Fferi50 (34262)
Fferi50 Creative Commons License 2020.04.14 0 0 34262

Szia!

Szerintem csak annyi a baj, hogy 1x ki kell lépned az adott munkalapról és vissza.

Mivel megnyitáskor ez a munkalap marad az aktív.

Ha ez kényelmetlen, akkor a Thisworkbook kódlapjára át tudjuk tenni az aktíválást-deaktíválást és egy picit módosítani kell a makrón is.

Üdv.

Előzmény: NyB84 (34260)
Redlac Creative Commons License 2020.04.14 0 0 34261

Aztaaaa, köszönöm a segítséget :-)

Előzmény: Fferi50 (34253)
NyB84 Creative Commons License 2020.04.14 0 0 34260

Valamit tuti nem jól csinálok, mert nem akaródzik működni a makró, úgyhogy inkább beteszek egy képernyőképet hátha abból kiderül mit rontottam el:

 

 

A lényeg, hogy a DOSSZIÉ munkalap C9:AE130 tartományra szeretném beállítani ezt a funkciót. A fentiek alapján megcsináltam a makrót, meg beállítottam az Activate/deactivate részt is az adott munkalapra (nem vagyok 100% biztos, hogy ezt jól...) és végül makróbarát verzióban elmentettem az excelt. Újranyitás során jött is egyből a biztonsági figyelmeztetés, hogy a program letiltotta a makrókat, amire én engedélyeztem a tartalmat. Ezt követően semmi változást nem tapasztaltam, ugyanúgy ha az adott tartományban (C9:AE130) bárhol lenyomom a delete-t simán törlődik a cella tartalma mindenféle figyelmeztetés nélkül.

 

Amúgy a táblázat bizonyos részei (pl. az első 7 sor) le vannak védve, egyes részei pedig automatikusan töltődnek különféle képletek alapján. Nem tudom, hogy ez mennyire befolyásolja a makró működését.

 

Ha a fenti kép alapján van valami sejtés mi lehet a bibi, előre is megköszönöm a válaszod.

Előzmény: Fferi50 (34258)
Fferi50 Creative Commons License 2020.04.14 0 0 34259

Szia!

Szia!

 

Ezt a képletet próbáld ki:

=HA(B2="";HA(C2="";"";DARAB($A$1:$A1)+1);DARAB($A$1:$A1)+1)

Ha nem a 2. sorban kezdődnek az adataid, akkor a +1 helyére a kezdősor-1 -t írj.

 

Üdv.

Előzmény: Meredris (34257)
Fferi50 Creative Commons License 2020.04.14 0 0 34258

Szia!

Ráállsz a munkalap nevére a lapfüleknél alul. Jobb egérgomb. Kód megjelenítése. A bal oldali lenyílóban kiválasztod a Worksheet-et. Megjelenik a SelectionChange esemény üres makrója, ezzel nem kell foglalkoznod. A jobb oldali lenyílóban kiválasztod az Activate eseményt. Ide beírod az Application.Onkey 2 sorát, ami aktíválja a makrót. Ezután kiválasztod a Deactivate eseményt a lenyílóból, ide írod be a másik két sort.

A makrót egy modulba kell bemásolni. Ha már itt vagy a kódlapon, akkor a felső menüsorban kiválasztod az Insert menüből a Module sort. Ide másolod a makrót.

Viszont: ez után a füzeted makróbarátként kell elmentened  (xlsm kiterjesztés)

Üdv.

 

Előzmény: NyB84 (34256)
Meredris Creative Commons License 2020.04.14 0 0 34257

Szia,

 

Tudnal meg tovabb segiteni?

 

a függveny jol müködik azonban nekem lenne meg valami amit meg akarok oldani.

 

=HA(B2="";HA(C2="";"";SOR())+10;SOR()+10)

 

A problema onnan adodik hogy a cella ahol nincs ertekem B2 es C2 szeretnem hogy semmit ne irjon ki de a szamlalo tovabb szamolja a sort valahogyan -1 el.

 

Pelda.:

 

A oszlop ugye a sorszamom B oszlop tetszoleges ertek C oszlop tetszöelges ertek:

 

A oszlopban a szam ugye halad felfele HA B VAGY!!! C oszlopban ertek van.

DE!!! ha nincs ertek sem B illetve sem C oszlop adott cellajaban akkor az A oszlopban NE irjon kis semmit VISZONT -1 el szamoljon AZAZ szepen haladjon maga a darabszamom külön független a sorszamtol

 

A oszlop   B oszlop    C oszlop

   46            ertek      ertek    <-- Kiirja az A oszlop erteket (szamot)

   47                          ertek    <-- Kiirja az A oszlop erteket (szamot)

   48            ertek                  <-- Kiirja az A oszlop erteket (szamot)

   ""               ""            ""      <-- Nem ir ki semmit viszon tovabb szamol ugy hogy a következö szam folytatodjon de nem a sor függveny alapjan hanem alul ahogy mutatom a 49 nel

   49            ertek       ertek   <-- A sor függveny miatt itt 50 lenne de nekem csak 49 kell mert az nekem a 49.

 

igy szeretnem.

Remelem el tudtam erthetoen magyarazni.

 

Ekezetek miatt bocsi

 

Köszi a segitseget!

 

 

Előzmény: pimre (34226)
NyB84 Creative Commons License 2020.04.14 0 0 34256

Kedves Fferi50!

 

Köszi a gyors tippet.

 

Sajnos nagyon zöldfülű vagyok a makrókkal kapcsolatban, legalábbis egyelőre még nem igazán dolgoztam vele, szóval olyan alap dolgokra is rá kell kérdeznem, hogy a munkalap Activate/Deactivate eseményeit konkrétan hol/hogy tudom beállítani?

 

Előre is köszi!

 

Előzmény: Fferi50 (34255)
Fferi50 Creative Commons License 2020.04.14 0 0 34255

Szia!

Ezt a makrót egy modulban kell elhelyezned:

Sub nodelete()
If Not Intersect(Selection, Range("A1:C10")) Is Nothing Then
    If MsgBox("Valóban törölni szeretnéd az adatot", vbExclamation + vbYesNo) = vbYes Then
       MsgBox "törlöm"
      Selection.Value = ""
    Else
       MsgBox "nem törlöm"
    End If
End If
End Sub

 

Aktíválásához a következő két sor szükséges:

Application.OnKey "{DEL}","nodelete"
Application.OnKey "{BACKSPACE}","nodelete"

 

A deaktíváláshoz pedig:

Application.OnKey "{DEL}"
Application.OnKey "{BACKSPACE}"

 

Az aktíválást teheted a munkalap Activate eseményéhez, a megszüntetést a Deactivate eseménybe.

Az is megoldható, hogy a megerősítő makró csak a munkalap meghatározott részében érvényesüljön. A makró most az A1:C10 területen érvényesül, azon kívül nem. Ha változhat a terület, pl. egy táblázat, akkor érdemes elnevezni és a névvel hivatkozni a tartományra.

 

Ha nem boldogulnál vele, akkor tegyél fel egy kis mintát.

 

Üdv.

Előzmény: NyB84 (34254)
NyB84 Creative Commons License 2020.04.14 0 0 34254

Kedves Fórumozók!

 

Egy olyan segítséget szeretnék kérni tőletek, hogy hogy tudnám azt beállítani egy táblázatban, hogy bármelyik cellán állva, ha lenyomom a "delete" vagy "backspace" billentyűk valamelyikét feldobjon egy megerősítő ablakot, hogy valóban törölni szeretném az adott cella tartalmát. Ergo, azt szeretném megoldani, hogy ne tudjam véletlen törölni a cella tartalmát, csak megerősítésre.

 

A tippeket előre is köszönöm.

Fferi50 Creative Commons License 2020.04.14 0 0 34253

Szia!

Valószínűleg ezért nem lehet a színét állítani.

Azt írja az "internet", hogy 64 bites office-on nem műxik az MSCOMCT2.OCX, amiben ez a vezérlő is van.

 

Üdv.

Előzmény: Redlac (34251)
Redlac Creative Commons License 2020.04.14 0 0 34252

Jaja, és 2019-es Office-t használok.

Előzmény: Fferi50 (34250)
Redlac Creative Commons License 2020.04.14 0 0 34251

No, ez egy érdekes dolog.

Ezt a formot vagy 5 éve készítettük, és akkor felkerült rá. Most nincs az eszköztárban ilyen, viszont lecserélni nem tudom, mert osztályhibát ír ki más date képződményre :-(

Előzmény: Fferi50 (34250)
Fferi50 Creative Commons License 2020.04.13 0 0 34250

Szia!

Milyen Excel verziót használsz? Hogyan tetted fel a DTPickert?

Sajnos nekem egyenlőre nem sikerült. 

Üdv.

Előzmény: Redlac (34249)
Redlac Creative Commons License 2020.04.13 0 0 34249

Újabb kérdés :-)

 

Ezen a formon van egy-egy DTPicker, amiknek a backcolorját viszont nem állítja egyáltalán.

A tulajdonságai között CalendarBackColor van, viszont, ha ezt írom be, akkor sem színez. Sőt, olyan, mintha nem is lenne ilyen objektumom, mert kisbetűvel beírva a tulajdonságot, nem írja át nagyra.

 

Erre lenne ötleted?

Előzmény: Fferi50 (34246)
számok Creative Commons License 2020.04.13 0 0 34248

"=VAGY(HAHIBA(SZÖVEG.TALÁL("B";$A1)<16;0);HAHIBA(SZÖVEG.TALÁL("R";$A1)<16;0))" ez jó lesz , köszönöm szépen.

Előzmény: Fferi50 (34243)
Sheeny Creative Commons License 2020.04.13 0 0 34247

Köszönöm

Előzmény: Fferi50 (34238)
Fferi50 Creative Commons License 2020.04.13 0 0 34246

Szia!

Nincs mit, mindig tanulok én is.

Ráadásul Form eseményt írtam a Frame helyett a szövegben, de azért sikerült megfejtened. :)

Üdv.

Előzmény: Redlac (34245)
Redlac Creative Commons License 2020.04.13 0 0 34245

Tökéletes, köszönöm szépen :-)

Előzmény: Fferi50 (34241)
Redlac Creative Commons License 2020.04.13 0 0 34244

Ezek nem működtek, de Ferié igen.

 

Amúgy Skype-on kerestelek :-)

Előzmény: Delila10 (34240)
Fferi50 Creative Commons License 2020.04.13 0 0 34243

Szia!
Kettő db R vagy 2 db B kell legyen az adott szövegrésznél, vagy elég csak annyit megnézni, hogy a 16. karakternél előbb fordul elő? Továbbá az 1 akkor kell ha R vagy akkor ha R vagy B?

Szövegrészt kiemelni bolddal csak makróval lehet.

Az egész cellatartalmat lehet feltételes formázással is félkövérre állítani. Pl. Ha mindegy, hogy B vagy R van-e benne:

Feltételes formázás - új szabály - a formázandó cellák kijelölése képlettel, a képlet:

=VAGY(HAHIBA(SZÖVEG.TALÁL("B";$A1)<16;0);HAHIBA(SZÖVEG.TALÁL("R";$A1)<16;0))

Formázásnál kiválasztod amit szeretnél látni.

Utána a formázandó területet megadod a szabályok kezelése menüpontban.

 

Üdv.

 

Előzmény: számok (34242)
számok Creative Commons License 2020.04.13 0 0 34242

Sziasztok.

 

5:4(1:0 R;0:1 R;1:0 F;1:0 R;0:1 F;0:1 R;1:0 R;0:1 F;1:0 F)cellából a 15..16 /a kiemelt rész/karakterig kellene kiszűrnöm hogy ott "R" betű vagy B betű van e, s azt kellene félkövérre venni, vagy a kovetkező oszlopba  egy 1 es számot irna is jó volna. Úgy néztem hogy feltételes formázással  s csere vel ezt nem tudom megoldani. tudnátok támpontot adni merre nézelúdjek inkább?

 

Köszi előre is.

Fferi50 Creative Commons License 2020.04.13 0 0 34241

Szia!

 

A Form be és kilépési eseményeihez rendeld hozzá a következőket:

Private Sub Frame1_Enter()
On Error Resume Next
If Err = 0 Then Me.Controls(Me.Frame1.ActiveControl.Name).BackColor = vbGreen
On Error GoTo 0
End Sub

 

Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Me.Controls(Me.Frame1.ActiveControl.Name).BackColor = vbWhite
End Sub

 

Természetesen a saját megnevezéseidnek megfelelően.

A Textboxok eseményei maradhatnak az eredetiek.

 

Üdv.

 

Előzmény: Redlac (34239)
Delila10 Creative Commons License 2020.04.13 0 0 34240

Private Sub EsTB10_AfterUpdate()

    If EsTB10.BackColor = vbGreen Then EsTB10.BackColor = vbWhite Else EsTB10.BackColor = vbGreen

End Sub

 

Vagy:

Private Sub EsTB10_AfterUpdate()

    If EsTB10 = "" Then EsTB10.BackColor = vbWhite Else EsTB10.BackColor = vbGreen

End Sub

Előzmény: Redlac (34239)
Redlac Creative Commons License 2020.04.12 0 0 34239

Sziasztok!

 

Van egy pofás formom, ami remekül működik egy ideje.

Gondoltam ráncfelvarrom a kicsikét. Az adatbeviteli mezőket színezni szándékoztam, hogy amikor azt tölti az ember, akkor világos legyen, merre tart.

 

Private Sub EsTB10_Enter()
Me.EsTB10.BackColor = vbGreen
End Sub
Private Sub EsTB10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Me.EsTB10.BackColor = vbWhite
End Sub

 

Szuper jó, van vagy 30 combo- meg textbox, remekül működik. Azonban van az egész felületen három Frame, amikben külön-külön van 3-4 textbox, és ezek utolsóikban beragad a zöld szín. Hiába lépek tovább (akár tabbal, akár egérrel), mégsem fehéríti ki. Viszont, ha visszafelé lépek ki az utolsó textboxból (tehát az előző textboxba lépek), akkor eltünteti a zöldet.

 

Van esetleg valakinek ötlete?

Fferi50 Creative Commons License 2020.04.12 0 0 34238

Szia!

Átalakítod táblázattá a forrás adatokat. Ezután automatikusan bővül az új sorokkal a táblázat.

A grafikon forrásadata pedig legyen a táblázat neve.

Üdv.

Előzmény: Sheeny (34237)
Sheeny Creative Commons License 2020.04.12 0 0 34237

Sziasztok

A segítségeteket szeretném kérni.

Azt meg lehet, oldani, hogy egy grafikonhoz szükséges adatok automatikusan jelölődjenek ki az adott naphoz? Jellemzően ez minden nappal plusz egy sor lesz.

Tehát ne kelljen mindig kijelölgetni az adatokat, hanem mondjuk a ma() értéket megtalálva jelölje ki pl az A1:D12 másnap az A1:D13 területet.

Köszönöm

 

 

Meredris Creative Commons License 2020.04.10 0 0 34236

Iggeeeen ez az ezt a SOR függvényt nem ismertem.

Köszi szépen a segítséget! 

 

Bocsi ha nem volt viláos a magyarázatom.

Előzmény: pimre (34226)
zdomiter Creative Commons License 2020.04.09 0 0 34235

Ez is nagyon jó! Köszi szépen.

Előzmény: pimre (34230)
zdomiter Creative Commons License 2020.04.09 0 0 34234

Tudtam, hogy számíthatok rátok! Nagyon király pont ez kellett, de nem állt össze ez a logika. Köszi szépen.

Előzmény: Eredő Vektor (34229)
pimre Creative Commons License 2020.04.09 0 0 34233

A 2. kérdésre Eredő Vektor javaslatát annyiban módosítanám, hogy  az A2&B1, vagy a B1&A2 közé valami elválasztójelet azért tennék. Mondjuk  B1 & " " & A2, vagy B1 & ";" & A2 stb.

Előzmény: pimre (34230)
Eredő Vektor Creative Commons License 2020.04.09 0 0 34232

de mondok jobbat:

2019-esben van SZÖVEGÖSSZEFŰZÉS()

Egy lépésben megy az egész egyetlen cellába

Előzmény: zdomiter (34228)
Eredő Vektor Creative Commons License 2020.04.09 0 0 34231

és ha  két oszlopot felcseréled még a sorrend is jó lesz:)

=B1&A2

Előzmény: Eredő Vektor (34229)
pimre Creative Commons License 2020.04.09 0 0 34230

Másold Wordbe.

Cseréld ki a bekezdésjeleket szóközre.

Az eredményt másold be az Excel táblába. 

Előzmény: zdomiter (34228)
Eredő Vektor Creative Commons License 2020.04.09 0 0 34229

Ha mondjuk A2-A10-ben van az összefűzendő szöveg,

akkor B2-től: =A2&B1

és ezt lehúzod az a oszlop utolsó adatot tartalmazó celláig.

Így a b oszlop utolsó celábban megkapod a teljes összefűzést.

de ez csak egy lehetőség a 100-ból. 

 

 

Előzmény: zdomiter (34228)
zdomiter Creative Commons License 2020.04.09 0 0 34228

Sziasztok! 

 

Egy bagatell problémán nem tudok túljutni.

Hogyan lehet egy weboldalról kimásolt több soros szöveget egyetlen cellába másolni?

 

Vagy a másik megoldás, hogy az ÖSSZEFŰZ függvényhez hasonlóan, mivel lehetne 50 cellát egyszerűen összefűzni, de nem egyesével jelölgetve?

pimre Creative Commons License 2020.04.09 0 0 34227

Szerintem így néz ki a táblázata, illetve ezt akarta. Ha nem, akkor stornó az előző:-)

 

 

 

Előzmény: James 42 (34224)
pimre Creative Commons License 2020.04.09 0 0 34226

A 2. sorba pedig ez kell: =HA(B2="";HA(C2="";"";SOR());SOR())

 

Majd ezt húzod végig lefelé.

 

Ha az egész nem az 1. soron kezdődik, akkor a második sorhoz hozzáadsz egy számot, ami 1-el kevesebb, mint a sor száma. Ha például az első adat a 10. soron van, akkor  1 11. soron lévő "2" sorban a képlet:  =HA(B2="";HA(C2="";"";SOR())+10;SOR()+10)

Előzmény: Meredris (34222)
Delila10 Creative Commons License 2020.04.09 0 0 34225

Érteni véltem...

Előzmény: James 42 (34224)
James 42 Creative Commons License 2020.04.09 0 0 34224

Te értetted, amit írt? Azt, hogy "seghol", én is megfejtettem, de a többit...

Előzmény: Delila10 (34223)
Delila10 Creative Commons License 2020.04.09 0 0 34223

Erre gondolsz?

=HA(ÉS(B1="";C1="");"";A1)

Előzmény: Meredris (34222)
Meredris Creative Commons License 2020.04.09 0 0 34222

Sziasztok a Segítsegetekre lenne szüksegem,

 

 

Adott egy sorszamos feladat lehet mar kerdeztek de nem talaltam seghol sem.

 

A oszlop B oszlop C Oszlop

 

1 1. ertek 1 1. ertek 1             =HA(B1="";HA(C1="";"";1);1))
2 1. ertek 2 1. ertek 2             =HA(B2="";HA(C2="";"";A1+1);A1+1)
3 1. ertek 3 1. ertek 3             =HA(B3="";HA(C3="";"";A2+1);A2+1) 
4 1. ertek 4 1. ertek 4              Es igy tovabb
5 1. ertek 5 1. ertek 5              Es igy tovabb
6 1. ertek 6 1. ertek 6              Es igy tovabb
7 1. ertek 7 1. ertek 7
8 1. ertek 8 1. ertek 8 
9 1. ertek 9 1. ertek 9
10 1. ertek 10 1. ertek 10

 

A problemam a következö. Lehet e olyan sorszamot csinalni ami ha megszakad az elözö szam folytatja a szamozast tovabb lathatatlanul es ahol a B es C oszlopban ertek van ujra elkezdi ha nincs megy tovabb a szamozas csak nem jelenik meg.

 

1 1. ertek 1 1. ertek 1             =HA(B1="";HA(C1="";"";1);1))
2 1. ertek 2 1. ertek 2             =HA(B2="";HA(C2="";"";A1+1);A1+1)
3 1. ertek 3 1. ertek 3             =HA(B3="";HA(C3="";"";A2+1);A2+1) 
4 1. ertek 4 1. ertek 4              
nincs itt 5 1. ertek 5 1. ertek 5 mert nincs ertekem se a B oszlopban se a C ben de megy tovabb a szamozas a hatterben es ahol ujra van ertek az oszlopok cellaiban ujra megjeleni szepen kihagyva ezt            
6 1. ertek 6 1. ertek 6              
7 1. ertek 7 1. ertek 7 
8 1. ertek 8 1. ertek 8 
9 1. ertek 9 1. ertek 9
10 1. ertek 10 1. ertek 10

 

Köszönöm a segitseget!

 

 

 

 

Fferi50 Creative Commons License 2020.04.08 0 0 34221

Bocs, valóban. Figyelmetlen voltam.

Előzmény: 324540 (34220)
324540 Creative Commons License 2020.04.08 0 1 34220

Fferi50!

A google drive mappába csatoltam a word dokumentumot is, amiben a feladat van!

Viszont már sikerült megoldanunk, és nagyon szépen köszönjük a segítséget!

324540 Creative Commons License 2020.04.08 0 0 34219

Köszönöm a válaszokat!

BZT1989 Creative Commons License 2020.04.08 0 0 34218

Sziasztok, 

Elakadtam egy feladattal és segítséget szeretnék kérni. Excel 2016-ban dolgozom egy kiállítási interaktív kioszk háttér adatbázisán. Ez az excel szabályozza, hogy milyen érintésre milyen adatok szűrődjenek le és jelenjenek meg a képernyőn. 

Az első munkalapon vannak a kiállítók adatai. Ami most fontos az az azonosítójuk, illetve hogy hol állítanak ki.  Minden helyszínhez tartozik egy térkép ami mutatja a pontos helyet.  Több helyen is kiállíthatnak ezért bizonyos esetekben egy azonosítóhoz akár 3 térkép is tartozhat. 

A "Floormap locations" csináltam egy lekérdezést az A munkalap 3 oszlopából amik a térképeket tartalmazza. Eltávolítottam az ismétlődéseket és az üres cellákat a lekérdezésből. 

Most a  "Floormap locations" munkalapra szeretném az egyes térképek mellé összeszedni az összes olyan kiállító azonosítóját, aki kiállít azon a helyen. Az index.hol.van egy találatnál megáll és a keres függvények is tudomásom szerint. 

Mellékelek képeket, hátha segít megérteni és remélem valakinek van valami jó kis trükkje. Hálás lennék! Előre is köszönöm!

Z.

 

Jozsef Creative Commons License 2020.04.07 0 1 34217

Van egy jó hírem, a feladat megoldható :)

Nem vagyok híve, annak, hogy beadandó feladatok bárkinek megoldjak, ezért leírom a hibákat.

Az általatok elgondolt Excel majdnem jó, igazából csak E7:P7 cellákban lévő képletnek nincs értelme, ezek lesznek a modelled változó cellái, ez lesz, amiről döntést kell hozni melyik héten hány ládát kell kiszámítani.

Töröljétek ki a képletet, és írjatok ide be valamilyen számot, pl. végig 10-t

A Solverhez meg kell fogalmazni az optimalizálási feladatot.

Mi célfüggvényed? Nyilvánvalóan a költség, ezt kell minimalizálni

Mi a modell változói? Miről kell döntést hozni?

Milyen feltételeid vannak?

1. A szállított ládák számának biztos, hogy nem negatívnak kell lenniük >=0

2. A szállított ládák számának biztos, hogy egésznek kell lenniük

3. A záró készlet sem lehet negatív, mert akkor többet használ fel, amit ami az előző nap raktár készlet+kiszállítás

 

Olvasátok le az Exceletekben az ennek  megfelelő cellákat, és adjátok meg a Solver megfelelő mezőjében.

 

Mivel a költség függvény nemlineáris (a közvetett KEREK.FEL miatt), ezért nemlineáris Solverrel kell megoldani.

Előzmény: 324540 (34214)
Fferi50 Creative Commons License 2020.04.07 0 1 34216

Szia!

Másik fórumon is kérdeztem: További szöveges rész nincs a feladathoz?

Üdv.

Előzmény: 324540 (34215)
324540 Creative Commons License 2020.04.07 0 0 34215

Ui: Az általunk gondolt fél megoldás is benne van a mappában.

324540 Creative Commons License 2020.04.07 0 0 34214

Sziasztok!

Szeretnék tőletek segítséget kérni excel solver feladattal kapcsolatban!

A kialakult távoktatási rendszerben kaptunk egy beadandó feladatot, ami a jegyünk 1/10-edét teszi ki, viszont mintafeladatokat a solver használatához nem. Így remélem, hátha van valaki, aki tudna nekünk a mellékelt google drive mappában található feladatban segíteni. Sokat jelentene nekünk.

 

https://drive.google.com/open?id=1BEPAOqUwIorfvW3flNPvV_pdZJ4wnVWk

 

 

Előre is köszönettel: Egy egész hálás évfolyam!

 

(A kép csak figyelemfelkeltés!)

 

 

 

 

pimre Creative Commons License 2020.04.05 0 0 34213

Szívesen. Egyébként most veszem észre, hogy felcseréltem az értelmezést. A képletem akkor írt 1-et, ha nem találta a számot.

Ezért a képlet helyesen: =HA(HAHIBA(SZÖVEG.TALÁL("/"&A2&"/";"/2/3/6/8/11/15/18/21/25/")>0;HAMIS);1;"")

 

(Azaz a végén lévő );"";1) részt meg kellett cserélni:  );1;""). A többi maradt.

 

Előzmény: számok (34212)
számok Creative Commons License 2020.04.05 0 0 34212

Köszönöm.

Előzmény: pimre (34211)
pimre Creative Commons License 2020.04.05 0 0 34211

1. Vesszőket írtál pontosvesszők helyett.

2. D2-be másold be ezt: =HA(HAHIBA(SZÖVEG.TALÁL("/"&A2&"/";"/2/3/6/8/11/15/18/21/25/")>0;HAMIS);"";1)

 

Megjegyzés: A számokat közrefogó / jelek azért kellettek (lehetett volna más is), hogy az 1-es számot ne fogadja el a 11, 15, 18, vagy 21-ben, a 2-est meg a 21 és 25-ben. 

Előzmény: számok (34210)
számok Creative Commons License 2020.04.05 0 0 34210

sziasztok.

 

Két kérdésem lenne

 

Google tablazatokat használnék.

 

1.

=HA(ÉS(A2>13,A2<26),1,B2) ebben mi lehet a hiba, hogyan orvosolhatnám?

 

2. másik cellába ( legyen d2) akkor szeretnék egy "1" s számot, ha a2 cellaban a szamok a 2, 3,6,8,11,15,18,21,25 s számok egyike. hogyan tudnám ezt egyszerűen kivitrelezni?

 

köszi előre is.

Báthory. Creative Commons License 2020.04.04 0 0 34209

Ok, megvan a hiba. Bár nem (csak) ez volt, de nagyon alap. Mindig beillesztettem, és Ctrl Alt Enterrel zártam.

Utána javítottam a cellát, meg egyéb értékeket, de ott már nem Ctrl Alt Enter volt, csak sima Enter. És ezt csináltam órákon keresztül.

Tudtam, hogy valami alap hibát nézek be.

 

Na ez nagyon alap volt, de köszönöm!

Előzmény: Fferi50 (34208)
Fferi50 Creative Commons License 2020.04.04 0 0 34208

Szia!

 

Drága barátom! A képletben levő C3 cellát légy szíves javítsd ki az általad használt A oszlopbeli cella címére!!!

 

Üdv.

Előzmény: Báthory. (34207)
Báthory. Creative Commons License 2020.04.04 0 0 34207

Igen a leírtak szerint jártam el. Csatolok egy képet. Mindenhol a 100-as értéket adja eredményül, nem a várt eredményt.. :-(1

Előzmény: Sánta Kutya (SK) (34205)
pimre Creative Commons License 2020.04.04 0 0 34206

A bemásolás után azt csináltad, amit írtak: "Ez egy tömbképlet, Ezért Ctrl+Shift+Enter-rel kell lezárni!". Tehát amikor bemásoltad a szerkesztőlére, akkor nem Enter, hanem Ctrl+Shift+Enter. Ekkor szögletes zárójelek közé teszi, amit bemásoltál, és végrehajtja a többnyire bonyolult feladatot, amit másképp nem lehetne megoldani.

Előzmény: Báthory. (34204)
Sánta Kutya (SK) Creative Commons License 2020.04.04 0 0 34205

Shift-ctrl-enterrel zártad le a tömbképlet bevitelét? Ha jól csinálod, a szerkesztőlécen kapcsos zárójelek közé csukva jelenik meg, ami magától kerül oda.

 

Előzmény: Báthory. (34204)
Báthory. Creative Commons License 2020.04.04 0 0 34204

Sziasztok!

 

Adott szövegben kellene az első nagybetű pozíciója, a második karaktertől számolva (mivel az első többnyire eleve nagy betű). Lenne megoldás, de valahogyan nem működik. Mintha a SZÖVEG.TALÁL nem engedne több attribútumot bevinni, vagy csak az elsőt venné figyelembe.

Valami ilyesmi az elképzelés:

=SZÖVEG.TALÁL({"A";"Á";"B";"C";"D";"E";"É";"F";"G";"H";"I";"Í";"J";"K";"L";"M";"N";"O";"Ó";"Ö";"Ő";"P";"Q";"R";"S";"T";"U";"Ú";"Ü";"Ű";"V";" W";"X";"Y";"Z"};A1;2)

Tömbfüggvényes megoldásokat találtam a neten, de az nem sok mindent mond nekem, bemásolva viszont az sem működik..

 

Köszi!

Topmaker69 Creative Commons License 2020.04.03 0 0 34203

Köszönöm! Hibátlan! 

Előzmény: Fferi50 (34202)
Fferi50 Creative Commons License 2020.04.03 0 1 34202

Szia!

Egy segédoszlopos megoldás:

A B7 cella képlete:

=SZUM(B$2:B6)-SZUM(C$1:C6)*2

A C7 cella képlete =B7

A két képletet tartalmazó cellát másolod (ctrl+c), majd az összegzést tartalmazó cellákat kijelölöd (ctrl + jobb egérgomb), irányított beillesztés - képletet.

 

Üdv.

Előzmény: Topmaker69 (34201)
Topmaker69 Creative Commons License 2020.04.03 0 0 34201

Sziasztok!

 

Azzal a kérdéssel fordulok hozzátok, hogy hogyan tudnék úgy összeadni sok (kb. 6 ezer sor) számot az alábbiak szerint, a sárga mezőbe kellene a fentiek összege, de ne egyesével kelljen függvényezni. Biztos van rá már válasz, de nem elég ügyesen keresem. 

 

Köszönöm!

 

Báthory. Creative Commons License 2020.04.03 0 0 34200

Köszi!

 

Kicsit igazítottam még rajta, és sokat segített!

 

Köszi még egyszer!

Előzmény: Fferi50 (34199)
Fferi50 Creative Commons License 2020.04.03 0 0 34199

Szia!

Szia

 

Miért ne lehetne.

="<p>" & Helyette(A1;Karakter(10);"<p>") & "<p>"

A1 az eredeti cella, amiben az értékek voltak.


Üdv.

 

Előzmény: Báthory. (34198)
Báthory. Creative Commons License 2020.04.03 0 0 34198

Köszi! Nagy segítség lesz már így is!

Annyiban lehet bonyolítani szerinted, hogy minden sor elejére menjen egy </p> is, a végére meg a <p> ?

Előzmény: Fferi50 (34195)
MZ/Y Creative Commons License 2020.04.02 0 0 34197

Bármilyen meglepő, nem hogy a gugliban nem találtam jó találatot, konkrétan a kiszámolót meg is néztem, de az utóbbi időkben nem sok bejegyzés volt, nem keresgéltem régieket.

(Nem hitelkalkulátor szóra kerestem, az van sok helyen, hanem próbáltam a maradvány összegre, csak nem tudtam, mi a szakszó. Azóta meglett.)

Előzmény: Eredő Vektor (34192)
MZ/Y Creative Commons License 2020.04.02 0 0 34196

Köszönöm!

Előzmény: Sánta Kutya (SK) (34188)
Fferi50 Creative Commons License 2020.04.02 0 0 34195

Szia!

Magyar Excel képlet (természetesen másik oszlopba)

=Helyette(A1;Karakter(10);"<p>")

Utána a képletes cellákat kijelölöd, másolás, ugyanoda irányított beillesztés értéket. Az alap oszlop törölhető vagy arra másolod rá és a segédoszlopot törlöd.

Üdv.

Előzmény: Báthory. (34194)
Báthory. Creative Commons License 2020.04.02 0 0 34194

Sajna a képet nem jól csatoltam..

 

 

Báthory. Creative Commons License 2020.04.02 0 0 34193

Sziasztok!

 

Ha cellán belül van sortörésem (ALT+ENTER), nagyobb mennyiségű adatnál, és több cellában, akkor azt valahogyan tudom cserélni szövegre?

Adott esetben <P> html kódra cserélném a sortörést, így egy  export-import folyamatnál nem veszne el a sortörés.

 

(Az excel táblázatban amiből a termékleírásokat kellene beemeljem ott cellán belül van sortörés, ha így küldök rá egy import folyamatot, akkor egybefüggő lesz a szöveg, kiesnek a sortörések. Viszont ha minden sor végére beírok egy <P> html kódot akkor új bekezdést tesz, és ezzel sok munkát spórolok magamnak.)

 

Köszi!

Eredő Vektor Creative Commons License 2020.04.01 0 0 34192

google-ba ugyanennyi lett beírni, mint ide...

https://kiszamolo.hu/hitelkalkulator.xls

Előzmény: MZ/Y (34187)
Eredő Vektor Creative Commons License 2020.04.01 0 1 34191

fkeres fgv-t nézd meg súgóban.

pl b1-be:

=FKERES(A1;E:F;2;0)

 

és ezt továbbmásolod az oszlopba amíg kell

Előzmény: Jánoska Szabolcs (34189)
Fferi50 Creative Commons License 2020.04.01 0 1 34190

Szia!

 

Fkeres függvényt használd.

 

Üdv.

Előzmény: Jánoska Szabolcs (34189)
Jánoska Szabolcs Creative Commons License 2020.04.01 0 0 34189

Sziasztok!


Én a farönkök köbözését szeretném meggyorsítani egy excel táblázattal. A lényeg, hogy ha beírok egy számot (átmérő) mutassa meg, hogy az hány köb. Sajnos képlettel nem oldahtó meg a dolog, mert a fák nem tökéletes henger alakúak, de egy könyvből megvannak az adatok. Szóval ha mondjuk az A1be beírom, hogy 20 a B1ben jelenjen meg, hogy 0,1. A2 27 - B2 0,18 és így tovább. Köszönöm a segítő hozzászólásokat!

 

Sánta Kutya (SK) Creative Commons License 2020.04.01 0 0 34188

Nem tudom, de ha a függvénybeszúrásnál kiválasztod a pénzügyi függvények kategóriát és nézegeted a leírásokat, akkor szerintem meglesz.

Előzmény: MZ/Y (34187)
MZ/Y Creative Commons License 2020.04.01 0 0 34187

Üdv!

Gondolom, tud olyat az Excel, hogy megadom a felvett hitelt, a kamatot a futamidőt (esetleg a törlesztő részletet, bár ezt nyilván ki tudja számolni) és havi bontásban hozza, mennyi tőke és mennyi kamat van hátra. Ha tényleg van ilyen függvény, tudja-e valaki a nevét?

Fferi50 Creative Commons License 2020.04.01 0 0 34186

Szia!

Hacsak makróval nem....

Az intervallumot szerintem az FKERES-sel lehet keresni, ha a 4. paraméter IGAZ.

Üdv.

Előzmény: Sánta Kutya (SK) (34185)
Sánta Kutya (SK) Creative Commons License 2020.04.01 0 0 34185

Ha a navigálást úgy érted, hogy majd odaugrik a kurzor, akkor nem. Ha úgy, hogy kiírja valahova a cella koordinátáit, akkor igen. Egy tanács: soha ne adj meg ilyen intervallumokat táblázatkezelőben, hanem az alját meg a tetejét két egymás melletti cellában. Az intervallum nem rendeltetésszerű használat, úgyis szét kell szedni aljára és tetejére, plusz bonyodalom.

 

De mi a valódi feladat, amit így akarsz megoldani?

Előzmény: djtom92 (34184)
djtom92 Creative Commons License 2020.04.01 0 0 34184

Hello Excel guruk!

 

A kérdésem a következő volna. Megadok intervallumot egy cellában. Pl.: "1-1655" Szeretném azt elérni, hogy a dokumentumon belül kereshető legyen az intervallum bármely szereplője. Tehát ha rákeresek az 1000-re, akkor is ahhoz a cellához navigáljon találatként, ahol az "1-1655"-öt megadtam. Ez lehetséges?

 

Üdv.:

Tamás

 

tamáspapa Creative Commons License 2020.03.31 0 0 34183

Köszi, elment.

Előzmény: Fferi50 (34182)
Fferi50 Creative Commons License 2020.03.31 0 0 34182

Szia!

 

fulep.ferenc@gmail.com

 

Üdv.

Előzmény: tamáspapa (34181)
tamáspapa Creative Commons License 2020.03.31 0 0 34181

Szia. Ha adsz egy e-mail címet, elküldöm, meg a hozzá írt kivánság-szöveget is. Nem terhelném egyenlőre a közösség oldalát. Ha tudsz segíteni és megoldódik és érdemesnek tartod feltenni segítségként másoknak, akkor mehet.

Előzmény: Fferi50 (34177)
tvar13 Creative Commons License 2020.03.30 0 0 34180

Köszönöm, ez működik :)

Előzmény: Fferi50 (34179)
Fferi50 Creative Commons License 2020.03.30 0 1 34179

Szia!

Többszörösen egymásba ágyazott HA függvényekkel lehet megoldani, a feltételeket figyelembe véve:

=HA(DARABTELI(Munka1!A:A;A1)>0;A1;HA(HIBÁS(SZÖVEG.KERES("ww";C1));HA(HIBÁS(SZÖVEG.KERES("yy";C1));HA(B1>5000;20000;10000);30000);10000))

Feltételezve, hogy a cikkszámaid a Munka1 munkalap A oszlopában vannak, a második munkalapon pedig a cikkszám az A oszlopban, az érték a B oszlopban van.

 

Üdv.

Előzmény: tvar13 (34178)
tvar13 Creative Commons License 2020.03.30 0 0 34178

Sziasztok!

 

Ma alábbi probléma jött szembe, amit képlettel oldanék meg, de nem sikerül:

 

Van egy táblázatom, amiben az első lapon olyan cikkszámok vannak, melyekre szükségem van. (Külön is értékelnem kell)

Van egy másik tábla vegyesen termékekkel. Ebben a táblában szeretném a cikkszámokat újragenerálni (új oszlopba T oszlop) alábbiak szerint:

- ha a másik lista tartalmazza az itt szereplő cikkszámot (B oszlop), akkor önmaga marad

- ha nem:

- akkor ha a termék neve (C oszlop) tartalmazza alábbi szöveget: ww, akkor a cikkszám 10000

- akkor ha a termék neve (C oszlop) tartalmazza alábbi szöveget: yy, akkor a cikkszám 30000

ha fenti 3-ban nem szerepelt a cikkszám, akkor csak az értéke érdekel, ha nagybb mint 5.000 Ft akkor a kód legyen 20000, ha nem, akkor 10000

 

Na ezt nem sikerült felírnom.

Ötlet?

 

Fferi50 Creative Commons License 2020.03.30 0 0 34177

Szia!

Az első kérdésre:

Ha csak fejlécek és/vagy oldalrovatok vannak a számokon kívül, akkor használhatod az adatok - összesítés menüpontot.

A második kérdésre:

A 14. munkalapon SZUM függvénnyel összesítheted az értékeket - az egyes munkalapok összesített adatait kell összeadnod.

Ha mutatsz egy képet az egyik munkalapról, akkor többet tudunk mondani.

 

Üdv. 

Előzmény: tamáspapa (34176)
tamáspapa Creative Commons License 2020.03.30 0 0 34176

Sziasztok!

 

Van egy táblázatom, benne 12 munkalap. Egy 13.-ba kellene összegeznem minden egyes, számokat tartalmazó  cella értékeit. A cellák elnevezése ugyan az mind a 13-ban.

Hogyan kell ezt csinálni?

 

Ha ugyan ezeket a munkalapokat (12 db) egy másik (14.) összesítőben kell összegeznem, ahol előfordul néhány, mind a 12 cellában előforduló adat összevonása, azt hogyan kell csinálni?

Pl.: A személyi jellegű kiadásoknál a 12 munkalapon tételesen vannak a kiadások (bér, utazási ktsg, saját gk. használat, természetbeni juttatás, egyéb ktsg, de ugyan ez a 14. -ben már csak úgy kell, hogy szerepeljen, hogy bér és egyéb személyi jellegű kiadások (tehát a forrás cellák és a cél cellák elnevezése és db-száma is más).

??

Jozsef Creative Commons License 2020.03.29 0 0 34175

Bocs, a kép lemarad

Előzmény: Lamerka (34168)
Jozsef Creative Commons License 2020.03.29 0 0 34174

Ez tipikusan lineáris algebra - optimumszámítás feladat

Alapfeladat felírása:

B2:D5 a fajlagos felhasználás mátrix  (narancs színű terület)

Ha ezt mátrixszorzod a gyártási tervvel (miből, mennyit gyártasz) B6:D6 (sárga), akkor megkapod, hogy az adott gyártási tervhez az egyes alapanyagokból mennyi az felhasználás F2:F5 (zöld). Képen az elrendezés miatt a mátrixszorzásban a sárga részt transzponáltam, hogy a mártixszorzás elvégezhető legyen. 

A raktárkészlet adott H2:H5 (rózsaszín), a fennmaradó készlet a raktárkészlet és a felhasználás különbsége.

 

Ezzel már el lehet kezdeni játszogatni, hogy a gyártási tervek így-úgy változtatod, és akkor hogyan változik felhasználás, fennmaradó raktárkészlet.

 

Ha valamilyen pontosabb/ képlettel leírható követelményt (pl. a termékeken elérhető profitot maximalizálni)meg tudsz fogalmazni, akkor lép képbe a Solver.

A példa kedvéért, az adott raktárkészlet alapján legyártható össztermékmennyiséget E6:=SZUM(B6:D6) (kék) szerettem volna maximalizálni.

A hozzátartozó Solver beállítása a képről leolvasható.

 

Előzmény: Lamerka (34168)
pimre Creative Commons License 2020.03.29 0 0 34173

Kicsit komolyabban a hiányosan megfogalmazott példa számaiból:

 

 

Tarts raktáron 30 vasat, 15 alumíniumot, 20 fát és 10 karikát! Ebből mind a 4 termékből tudsz gyártani pontosan 1-1 db-ot.

 

Ha ennek többszöröseit tartod raktáron, akkor annyiszor többet tudsz legyártani.

Előzmény: Lamerka (34168)
pimre Creative Commons License 2020.03.29 0 0 34172

Ja és az a 3 féle termék, mintha 4 lenne. Nem?

Előzmény: pimre (34171)
pimre Creative Commons License 2020.03.29 0 0 34171

Ha mindegyikből van 100 db, akkor készítesz 10 vaskarikát és 6 kalapácsot. Marad 70 aluminiumod és 10 fád. Ezzel vársz a következő szállítmányra. Akkor megint csinálhatsz valamit:-)

Előzmény: Lamerka (34168)
Sánta Kutya (SK) Creative Commons License 2020.03.29 0 0 34170

Fából vaskarika nem lesz?

Előzmény: Lamerka (34168)
gha999 Creative Commons License 2020.03.29 0 0 34169

Szia!

 

Köszönöm a segítségedet, sikerült megoldani a feladatot :)

Előzmény: Fferi50 (34160)
Lamerka Creative Commons License 2020.03.29 0 0 34168

Egy nagyon amatőr kérdéssel fordulok hozzátok, de mégis kigott ratjam.

Tegyük fel, van 4 alap termékem (legyen most)vas,alumínium,fa,karika. A4 alaptermékem xyz raktrákészelettel van jelen.Ezekből az alapnyagokból 3 fajta terméket tudok előállítani de más más anyagszükségletekkel legyük fel, Ötvözet anyagszükséglete 10vas+10alumínium, Facsavar anyagszükséglete: 5fa+10vas , Vaskarika anyagszükséglete 10vas+10karika, almínium kalapács anyagszükséglete 5aluminium+15fa.

Hogy tudom megoldani, hogy a rendelkezésre álló nyersanyagok függvényében az elkészítendő tárgyak mennyiségét közölje illetve elkészítés után a raktárkészletet a megfelelő anyagokkal csökkentse.

 

Köszönöm szépen !

James 42 Creative Commons License 2020.03.28 0 0 34167
Előzmény: Ketele69 (34166)
Ketele69 Creative Commons License 2020.03.28 0 0 34166

Köszönöm szépen Mindkettőtök (Fferi50 ; Eredő Vektor) válaszát.

 

Az excel csak 2010-es, így egyenlőre Fferi50 megoldásával ismerkedem.

Eredő Vektor Creative Commons License 2020.03.27 0 0 34165

Az 1. táblát alakítsd át "táblázat" formátumra.

Kevesen ismerik, de excel 2016 - tól a powerquery integrálva lett. Ezt kell használnod a továbbiakban és teljesen automatikussá válik az egyes lépések rögzítése után a teljes folyamat. Erre találták ki - többek között.

Én nem adnék teljes útmutatást, mert sok van a neten és egyszerű...

Ebben segít az alábbi videó:

https://www.youtube.com/watch?v=Kbu5RkUo6-k

vagy találat az elsők közül "powequery unpivot" kifejezésre:

https://www.myexcelonline.com/blog/unpivot-data-using-excel-power-query/

Magam gyakran használom a powequery-t, akár mélyebb, bonyolultabb átalakításokra is.

 

Makró teljesen felesleges, mivel a pq megold mindent.

Előzmény: Ketele69 (34163)
Fferi50 Creative Commons License 2020.03.27 0 0 34164

Szia!

 

Egy átrendezési ötlet: 

Az F-G-H oszlopokba kerültek az adatok:

Első sor fejléc

F2 képlete: =A2

F3 képlete: =HA(DARABTELI($F$2:$F2;$F2)<3;$F2;INDIREKT("A" &INT( SOR()/3)+2))

Tovább lehúzható az oszlopban, amíg hibát nem kapsz.

G2 képlete: =VÁLASZT(DARABTELI($F$1:$F2;F2);B$1;C$1;D$1) 'ezt kell folytatnod, ha nem 3 valami van.

Tovább lehúzható az oszlopban.

H2 képlete: =INDEX($A$1:$D$10;HOL.VAN(F2;$A$1:$A$10;0);HOL.VAN(G2;$A$1:$D$1;0))

Tovább lehúzható az oszlopban.

Természetesen az INDEX függvényben szereplő - vastagon szedett - utolsó sorok számát igazítanod kell a saját tábládhoz.

Ha 3-nál több "valami" van, akkor a 3 helyett a "valamik" számát kell beírnod, továbbá a G2 képletben folytatnod kell az oszlopok első cellájával, a H2 képletben pedig a D oszlop helyett a valódi utolsó oszlopot kell írnod a piros betűk helyére.

 

Üdv.

Előzmény: Ketele69 (34163)
Ketele69 Creative Commons License 2020.03.27 0 0 34163

 

Sziasztok!

 

Tanácsot szeretnék kérni az alábbi feladat megoldásához.

 

Adott az 1. tábla és a cél abból a lenti kimutatás elkészítése.

 

Nem vagyok nagyon otthon a pivot táblákban, ezért csak úgy tudtam megcsinálni, hogy az 1. táblát lemásolom / transponálom, majd mechanikus másolgatással előállítom a 2. táblát. Mivel nagy az eredeti állomány, ezzel a módszerrel sokáig tart és a tévesztés lehetősége is nagy.

 

Milyen egyszerűbb, biztonságosabb módszer létezik erre a problémára?

 

Köszönöm szépen!

 

  1. tábla

 

 Kimutatás

 

 

 2. tábla

 

 

Ketele69 Creative Commons License 2020.03.27 0 0 34162

Ez nem sikerült......hogy lehet tábla részletet ide másolni?

Ketele69 Creative Commons License 2020.03.27 0 0 34161

Sziasztok!

 

Tanácsot szeretnék kérni az alábbi feladat megoldásához.

 

Adott az 1. tábla és a cél a lenti kimutatás elkészítése. 

 

Nem vagyok nagyon otthon a pivot táblákban, ezért csak úgy tudtam megcsinálni, hogy az 1. táblát lemásolom / transponálom, majd mechanikus másolgatással előállítom a Segédtáblát. Mivel nagy az eredeti állomány, ezzel a módszerrel sokáig tart és a tévesztés lehetősége is nagy.

 

Milyen egyszerűbb, biztonságosabb módszer létezik erre a problémára?

 

Köszönöm szépen!

 

1. tábla

 

 

Kimutatás

 

Segédtábla

Fferi50 Creative Commons License 2020.03.27 0 0 34160

Szia!

Abból indulj ki, hogy 1 őra 60 perc, 1 perc pedig 60 másodperc.

Tehát az időt átszámolod másodpercekké és osztod 3600-el (60*60).

Az órák és percek kinyeréséhez pedig az óra és percek függvényt hasznáhatod.

Üdv.

Előzmény: gha999 (34159)
gha999 Creative Commons License 2020.03.27 0 0 34159

Sziasztok!

A problémám a következő. A Windows Óra alkalmazásának Stopper részéből a Részidők másolása opcióval adatot viszek át Excelbe.

A végső cél az lenne, hogy az időket órában kapjam meg -->  Tehát 00:01:11,51 legyen 0,0198639 h

Sajnos nem boldogulok az átszámítással. Tudnátok segíteni?

Előre is köszönöm! :)

Delila10 Creative Commons License 2020.03.27 0 0 34158

A másik fórumon már megkaptad a választ.

Előzmény: BraveHeart85 (34157)
BraveHeart85 Creative Commons License 2020.03.27 0 0 34157

Sziasztok,

Én a következő feladatban kérnék segítséget nem boldogulok vele.

B2 cella pálinka név melyben a legördülő lista barack szilva körte, B3-3-4-5 cella legördülő lista ( kész, folyamatban, stb..) Amit szeretnék: Ha a B2 cellában kiválasztom a barackot akkor a B3-4-5 cellában tudjam a nyelveknél kiválasztani hogy milyen állapotban van. Ezt meg tudom csinálni. Amit nem tudok, hogy ha B2 cellában kiválasztom a körte akkor a B3-4-5 cellában szintén tudjam kiválasztani a nyelveknél hogy milyen állapotban de úgy hogy a Barackot ne módosítsa hanem külön kezelje. Ha vissza váltok B2 cellában barackra akkor annak a folyamatát lássam.

Ez ilyen többszintű legördülő lista és láttam már ilyet de sehogy sem tudom összehozni. Ami még fontos, hogy bővíthetők legyenek.

Előre is köszönöm.

szonti Creative Commons License 2020.03.19 0 0 34156

Tökéletes! Köszönöm szépen a segítséget! Sok felesleges munkától mentettél meg!

Előzmény: Fferi50 (34155)
Fferi50 Creative Commons License 2020.03.18 0 0 34155

Szia!

Akkor fordítsd meg a képletet, légy szíves:

=Ha($B:$B;A1)>0;1;0)

Üdv.

Előzmény: szonti (34154)
szonti Creative Commons License 2020.03.18 0 0 34154

Sajnos ez nem pont azt hozza amire szükségem van, mert csak azokban a sorokban hoz értéket ahol a 2. oszlopban van érték. Nekem meg 1 el kellene jelölni a 3. oszlopban az összes értéket amelyiknek a száma szerepel a 2. oszlopban. mint a becsatolt képen a 3. oszlopban, úgy kellene kinéznie, csak sajnos 80 ezer sor van.

Előzmény: Fferi50 (34153)
Fferi50 Creative Commons License 2020.03.18 0 0 34153

Szia!

Darabteli függvényt használd. =Ha(Darabteli($A:$A;B1)>0;1;0)

Persze elég lehet magának a Darabteli függvénynek az értéke is, ha nem ragaszkodsz hozzá, hogy C oszlopban találat esetén kizárólag 1 legyen.

 

Üdv.

Előzmény: szonti (34152)
szonti Creative Commons License 2020.03.18 0 0 34152

Bocsánat az előbbi hozzászólásomból kimaradt a tábla egy részlete, így érthetőbb remélem

Előzmény: szonti (34151)
szonti Creative Commons License 2020.03.18 0 0 34151

Sziasztok!

 

2013 as excel használatával kapcsolatban szeretnék segítséget kérni Tőletek!

 

A probléma amit nem tudok megoldani: Az első oszlopban szerepelnek értékek, amik néha ismétlődnek. A második oszlopban az első oszlopból származó értékek vannak, és az lenne a cél, h ha a 2. oszlopban található érték megtalálható akárhol az első oszlopban, akkor az első oszlop sorában 1 értéket adjon a 3. oszlopban, ha nincs benne az első oszlopban a 2. oszlop értéke akkor 0 értéket adjon.

 

Függvénnyel ezt meg lehet oldani? órák óta fkeresezek meg ha függvényezek de nem jöttem rá a megoldásra.

A segítséget köszönöm szépen!

arkilaszlo Creative Commons License 2020.03.18 0 0 34150

meg van......keres-csere

Előzmény: arkilaszlo (34149)
arkilaszlo Creative Commons License 2020.03.18 0 0 34149

Vírus mentes jó reggelt!

 

egy kis segítség kellene:

hogyan tudom az alábbi formátumot átalakítani magyar szám formátummá (utána dolgozni kell vele)

 

1.200,000    ---->    1200

 

kösz

pimre Creative Commons License 2020.03.17 0 0 34148

Való igaz. Ha nem én fogom használni a programot, akkor szeretem, ha alaposan tesztelve van, és nem éri meglepetés a felhasználót. Alap, hogy ne jöjjön leállás angol nyelvű hibaüzenettel, de az is, hogy megmagyarázhatatlan jelenség se forduljon elő. 

Az ilyen "apróságok" mellett azért nem szeretek vállrándítással elmenni, mert ki tudja, hogy a hiba, ami okozta, máskor nem eredményez-e komolyabb gondokat. (Könyvelők szokták mondani, hogy állítólag előfordult olyan, hogy a bevétel és kiadás végösszege pár filléres eltérést mutatott, majd az egész csapat több napi munkával mindent utánaszámolt, és 10milliós hibát találtak.)

 

Ezért a tegnapinak is utána fogok nézni, csak most nem nagyon van rá idő. 

Előzmény: Eredő Vektor (34147)
Eredő Vektor Creative Commons License 2020.03.17 0 0 34147

amúgy, kicsit sem vagy maximalista :)

Én legalábbis magasról tennék rá, hogy alig láthatóan kisebb 1-2 helyen a betűméret.

Kb. két perc volt, mire megtaláltam a berakott képernyőmetszeteidben, hogy miről is van szó...

Előzmény: pimre (34146)
pimre Creative Commons License 2020.03.17 0 0 34146

Eddig nem találtam rá, de most megnéztem: Egy pillanatig megörültem Bryan Shepherd válaszának, mert azt én is tapasztaltam (Word-ben), hogy ha betűméretet módosítok, akkor nem mindig érvényesül elsőre. Csak ha elrontom a jót is, aztán az egészet kijavítom.  Sajnos a részletekre most nem ugranak be. Mindenesetre itt kipróbáltam, de nem működöt.

A multiline-os megoldást meg fogom nézni, hátha.

 

Előzmény: Eredő Vektor (34145)
Eredő Vektor Creative Commons License 2020.03.16 0 0 34145
Előzmény: pimre (34140)
pimre Creative Commons License 2020.03.16 0 0 34144

"Bár a cellánként eltérő betűméret (ugyanazon munkalapon és felbontás esetén), akkor is furcsa jelenség – annak (méret)helyessége, mint minimum, elvárható volna"

 

Szerintem is. Bár nem cellákról van szó, hanem Userformon elhelyezett hajszálra azonos TextBoxokról (ld. az előző pontosításomat), én is azt várnám, hogy a "torzítás" legyen a képernyő minden részén azonos, ne legyen 20-30 képernyőponttal lejjebb más mint a felette lévő, aztán megint olyan mint az első stb.

Előzmény: lxt (34142)
pimre Creative Commons License 2020.03.16 0 0 34143

Köszönöm a választ.

Autosize = false mindegyik.

Bocs, azt nem írtam meg, hogy mindez egy UserFormon van. Tehát a VBA képernyőn a Properties ablakban eleve látszanak ezek. És a Userformon arra is van lehetőség, hogy egy elkészült vezérlő (jelen esetben egy TextBox) fölé állva Copy majd Paste paranccsal egy másodpéldányt hozzak létre új névvel.

 

Egyébként aztán a lényeges tulajdonságait (helyzet /Top/Left/, szélesség, magasság, betűméret ) programból állítom be egyformán, így nem jöhet szóba különbség.

 

Meg különben is, ha ugyanazt a programot használom, akkor elvárnám az Exceltől, hogy ha eltér két Boxban a betűméret, akkor az térjen el minden képernyő felbontás mellett.

 

(Éppen ezen dolgozom már jó ideje, hogy bármilyen képernyőn azonosan nézzen ki a programom által kezelt Form. Ezért a programmal beolvasom az elején a teljesre állított Applikáció méreteit a magasságot és a szélességet, és az egyes vezérlők helyzetét soha sem fix képernyőpontban adom meg, hanem a képernyőről kiolvasott adatokhoz viszonyítva. Tehát az 1200 képpont szélességű laptop közepe 1200/2=600, az 1600 szélességű monitor közepe 1600/2=800. Ha ide akarok írni egy 10 karakteres szöveget, akkor az 5 karakternek megfelel képponttal balra kezdődik. Figyelve arra, hogy az 5 karakter az szám, kisbetű, vagy nagybetű. Így bármelyik gépen fut a program, ami középre kell, az majdnem pontosan középen lesz. Ugyanezt alkalmazom függőlegesen is. Kissé bonyolult számolgatást igényel, de működik)

 

Szóval ezek miatt gyanakszom arra, hogy a különbségeket valamilyen módon hardver eltérések is okozhatják.

Előzmény: Eredő Vektor (34141)
lxt Creative Commons License 2020.03.16 0 0 34142

1280 / 800 = 1,60

 

1600 / 900 = 1,7777777777

 

Vélhetően (DPI) kerekítési probléma.

A munkalap (minden cellájának) betűtípusa, (stílusa) formázása egyforma?

Bár a cellánként eltérő betűméret (ugyanazon munkalapon és felbontás esetén), akkor is furcsa jelenség – annak (méret)helyessége, mint minimum, elvárható volna.:-)

Előzmény: pimre (34140)
Eredő Vektor Creative Commons License 2020.03.16 0 0 34141

Fogalmam sincs. :)

De első körben megnézném a textboxok tulajdonságait. (F4-re jön fel asszem)

Kiemelten az autosize...

 

Előzmény: pimre (34140)
pimre Creative Commons License 2020.03.16 0 0 34140

Sziasztok. Újabb érthetetlen jelenség Excel programozásakor, bár lehet, hogy nem is az Excel a ludas. Egy bizonyos helyzetben szükségem volt arra, hogy egyes Textboxokat megtöbbszörözzek. A többszörözés az első TextBoxból Copy/Paste technikával történt, majd értelemszerűen külön neveket adva nekik.

A program egy másik pontján arra volt szükségem, hogy a legfelső boxban lévő adatot bemásoljam az alatta lévőkbe (sőt még enablad = False segítségével, csak láthatóvá tegyem. (A munkát egy 1280x800 felbontású laptopon végeztem. Ennek mindjárt lesz jelentősége)

 

A másolás elvégzése után a következő kép fogadott: 

 

  

 

Eltérő méretűnek látszottak az egymás alatti boxokban az azonos adatok. Minden következetesség nélkül. Órákat töltöttem az ok keresésével. Másoltam a tartalmán kívül a .font.size tulajdonságot, aztán a box méretadatait (Width és Height), de semm eredmény. Arra gondoltam, hogy esetleg van valami rejtett - betűméretet meghatározó - tulajdonsága a Boxba írt szövegnek.

 

De ekkor felszabadult az asztali gépem 1600 x 900 felbontású monitorral, így azon folytattam a munkát. És elindítva a programot, ugyanarra a helyre érve a következő kép fogadott:

 

 

Minden rendben. Az átmásolt adatok azonos méretben jelennek meg minden boxban.

 

Érti ezt valaki? Esetleg kérdezzem meg a hardveres topikban? 

 

similis Creative Commons License 2020.03.16 0 0 34139

Köszi, ez nekem is szuperül jött most :)

Előzmény: Delila10 (34117)
Tyorotyere Creative Commons License 2020.03.11 0 0 34138

 

Kipróbáltam de sajnos ugyan az a helyzet. Nem tűnik el a dátumozott oszlop de furcsa sárga színnel kijelöli a dátum celláját a google táblázatban! Nem értem! Először még úgy láttam hogy működött. Bár excel programba hibátlanul működik csak a google táblázatban nem sajnos. Van még ötletetek?

Előzmény: Delila10 (34131)
pimre Creative Commons License 2020.03.11 0 0 34137

Lehet, hogy nem is kell képet küldened, ha a szűrő bekapcsolás megoldja a dolgot. Majd meglátod.

Előzmény: Perrito caliente (34136)
Perrito caliente Creative Commons License 2020.03.11 0 0 34136

Köszönöm szépen! A felső sorokba került a kérdések sorszáma, alatta vannak a válaszok.  Tehát a 3.oszlop (=3. Kérdés) érdekel,  szeretném kiválasztani azokat akik a 2-es választ adták.  

Tehát a szűrés az lenne, hogy 3. Oszlop ahol 2 szerepel. 

 

Este tudok képet is küldeni,  de ahhoz a géphez amin dolgozom csak este férek hozzá. 

Nagyon szépen köszönöm, 

Üdv,

E.

Előzmény: pimre (34109)
pimre Creative Commons License 2020.03.11 0 0 34135

Köszönöm. Megpróbálom.

Előzmény: Fferi50 (34134)
Fferi50 Creative Commons License 2020.03.10 0 0 34134

Szia!

 

Ha a Textbox MultiLine tulajdonságát True - ra állítod, akkor lehet a szöveg elé vbLf (soremelés) karaktereket betenni.

Textbox1.Text=vblf & Textbox1.Text

Minden soremelés egy sorral lejjebb tolja a szöveget a boxban, DE csak akkor, ha MultiLine a box.

(Ha nem MultiLine, akkor megjelennek a "helyettesítő jelek" a vbLf karakter helyén.)

 

Üdv.

Előzmény: pimre (34104)
pimre Creative Commons License 2020.03.10 0 0 34133

Szívesen.

Előzmény: Delila10 (34132)
Delila10 Creative Commons License 2020.03.10 0 0 34132

Pimre!

 

Bejött a Word-be másolós módszer, érvényesülnek a tab-ok.

Köszönöm!

Delila10 Creative Commons License 2020.03.10 0 0 34131

Próbáld így:

 

Private Sub Workbook_Open()

    Dim oszlop As Long

    oszlop = 2

    Do While Sheets("Munka1").Cells(2, oszlop).Value < Date

        Columns(oszlop).EntireColumn.Hidden = True

        Columns(oszlop + 1).EntireColumn.Hidden = True

        oszlop = oszlop + 2

    Loop

End Sub

Előzmény: Tyorotyere (34130)
Tyorotyere Creative Commons License 2020.03.10 0 0 34130

 

Sziasztok!

 

Módosítottam a sorokat, hogy a képlet jó legyen de sajnos ugyan az a bajom! Amikor berakom a táblázatot akkor szépen működik a feltöltés után a dátum eltüntetős képlet de amint eltelik egy nap már nem tűnik el és kijelöli hülye sárga színnel mint az alábbi képen! Van valami ötletetek? 

 

Tyorotyere Creative Commons License 2020.03.09 0 0 34129

 

Szia!

 

Köszönöm!

 

Jogos!!! :D Most ez tényleg hiba volt de nem hiszem hogy ez a baja ... De holnap meglátom, mert beraktam egy próbát újra!

Előzmény: Delila10 (34126)
Tyorotyere Creative Commons License 2020.03.09 0 0 34128

 

Szia!

 

Ennyire nem értek hozzá! Amikor beraktam akkor kezelte először és eltűntette az oszlopokat, de csak akkor amikor beinportáltam, aztán másnap már nem :D A google sheetbe is ugyan ezt a kódot kell beírni? Köszönöm!

Előzmény: Garashan (34125)
exszajmon Creative Commons License 2020.03.09 0 0 34127

Sziasztok!

 

 

Abban kérném a segítségeteket, hogy egy pivot táblának szeretném frissíteni a dátum szűrőjét, sajnos ez nem sikerül. Egy változóból szeretném megadni az értéket, de hibára fut. 

 

Sub pivot ()

 

ThisWorkbook.Worksheets("Aspen Accrual Report").Cells(1, 50).Value = "=MAX(A1:A17740)"
Z = ThisWorkbook.Worksheets("Aspen Accrual Report").Cells(1, 50).Value
Cells(1, 50).Value = ""

    Sheets("Pivot Aspen Accrual").Select
    ActiveSheet.PivotTables("PivotTable3").PivotFields("Report Month").CurrentPage _
        = "(All)"
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("Report Month")
        .ClearAllFilters
        .PivotItems(Z).Visible = True
    End With
    Range("D8").Select
End Sub

 

Error:

hiba 1004 unable to the set visible property og the pivotitem class

 

 

Akkor is hibát jelez, ha felveszem a szűrő frissítését, majd makróval akarom futtatni,

 

hiba 1004 unable to the set visible property og the pivotitem class

 

 

 .PivotItems("Dec-19").Visible = False
        .PivotItems("Jan-20").Visible = True

 

Van ötletetek, mit a probléma?

 

Előre is köszi 

 

Péter

 

Delila10 Creative Commons License 2020.03.09 0 0 34126

A második sorból feltetted az elsőbe a dátumot. Két helyen a Cells(2, i)-t írd ár Cells(1,i)-re.

Előzmény: Tyorotyere (34124)
Garashan Creative Commons License 2020.03.09 0 0 34125

Szerintem a Google drive nem kezeli az MS Excel makróit. Meg kellene írni a makrót a Google Sheet-ben.

Előzmény: Tyorotyere (34124)
Tyorotyere Creative Commons License 2020.03.09 0 0 34124

 

Sziasztok!

 

Segítségeteket szeretném kérni. Nemrég ugyan itt segítettetek abban, hogy az excel a bedátumozott sorokat eltüntesse. Akkor ezt kellett tennem, hogy működjön:

 

A VBA nézetet az Excel munkalapról az Alt + F11 kombóval tudod előhívni. Utána kattints kettőt a Thisworkbook névre. Ezután bemásolhatod:

Private Sub Workbook_Open()

Dim i as Long
i = 2
Do While Sheets("munkalap").Cells(2, i).Value < Date
     Cells(2, i).EntireColumn.Hidden = True
     i = i + 1
Loop
End Sub

 Mentés gomb – nem-re kattintani -  A fájlt makróbarátként (xlsm) vagy binárisként (xlsb) kell mentened a mentés másként opcióval.

 

Ez működött is az excelben, de felraktam a google táblázatokba, hogy mindenki tudjon jelölni. MAkróbarátként van elmentve, binárisként fel sem ismeri. De sajnos itt nem működik! Március 7-én töltöttem fel egy ilyen excelt, amin feltöltötte rögtön el is tüntette azokat az oszlopokat amik már elmúltak. De feltöltés után egy nappal ránéztem és fura sárga színnel megjelenik a mai nap és az előző nem tűnik el! Tud ebbe valaki segíteni? Esetleg egy másik oldalt ajánlani ahol sokan hozzáférhetünk és működik is? Így néz ki jelenleg: 

 

 

pimre Creative Commons License 2020.03.09 0 0 34123

Én meg arra nem figyeltem, hogy csak a férfiak kellenek, bocs.

Előzmény: Sánta Kutya (SK) (34122)
Sánta Kutya (SK) Creative Commons License 2020.03.09 0 0 34122

Az ÁTLAG() a nőket is beleveszi, viszont az ÁTLAGHA() elég lenne a TÖBB nélkül is, csak álmos voltam.

Nyuszi kérdése nagyon jogos, azt sem szúrtam ki éjszaka félálomban!

Előzmény: pimre (34120)
_Nyuszi Creative Commons License 2020.03.08 0 0 34121

Ugye, nyugtass meg, ezek fiktív nevek?!

:o

Előzmény: tekeoff (34118)
pimre Creative Commons License 2020.03.08 0 0 34120

Szerintem a közönséges ÁTLAG függvény is megfelel ÁTLAG(D2:D149) formában. Az üres cellákat az sem veszi figyelembe, az ÁTLAGHATÖBB által igényelt egyéb kritériumok meg csak speciális igények esetén jönnének szóba.

 

Előzmény: Sánta Kutya (SK) (34119)
Sánta Kutya (SK) Creative Commons License 2020.03.08 0 0 34119
Előzmény: tekeoff (34118)
tekeoff Creative Commons License 2020.03.08 0 0 34118

Sziasztok!

 

Tudnátok abban segíteni, hogy mi a képlete annak, ha pl. a D150-be be szeretném írni a FÉRFIAK ANGOL pontszámainak ÁTLAGÁT?

 

Delila10 Creative Commons License 2020.03.08 0 0 34117

pimre képlete úgy, hogy ne kelljen oszloponként átírni egy betűt:

 

=INDEX(Munka2!$A:$N;HOL.VAN($A2;Munka2!$A:$A;0);OSZLOP()+1)

 

Ez a Munka1 lap D2 cellájába kerül, innen másolhatod jobbra és le.

Előtte természetesen másold át a fejlécet a Munka2 lapról, ahogy pimre írta.

 

Az INDEX függvény jobb, mint az INDIREKT, mert az utóbbi mindig újra számolja magát, ha a füzetben bármelyik adatot módosítod.

Előzmény: zsófi_01 (34115)
Garashan Creative Commons License 2020.03.08 0 0 34116

Nem vagyok gép előtt, de ha "$B" helyett "B"-t használsz? Elvileg, akkor ha odébb húzod egy oszloppal, akkor nő is a betű "értéke". Vagy tévedek?

Előzmény: pimre (34114)
zsófi_01 Creative Commons License 2020.03.08 0 0 34115

Hat ti óriásiak vagytok!! Köszönöm!!

A

Előzmény: pimre (34113)
pimre Creative Commons License 2020.03.08 0 0 34114

"Sajnos most nincs ötletem arra, hogy a $B helyett automatizálni lehessen az oszlop változását."

 

Közben eszembe jutott az elv. Az indirekt függvényben az S1O1 hivatkozással lehet megoldani, de most nincs időm, hogy ki is próbáljam. Majd talán este, vagy holnap, ha addig valaki nem javítja a képletet.

Előzmény: pimre (34113)
pimre Creative Commons License 2020.03.08 0 0 34113

Az 1. munkalapon a D oszloptól kezdődően másold át a 2. munkalapról a szükséges fejléceket. (nem kötelező, de gondolom neked jobb, ha látod is őket.)

 

Feltételezem, hogy a fejléc sor mindkét munkafüzet első sora, és az adatok a 2. sortól kezdődnek.

 

Ekkor az első munkalap D oszlop 2. sorába másold be a következőt annyi eltéréssel, hogy a Munka2 helyére írd be a másik munkalap nevét:

 

=INDIREKT("'Munka2'!$B" & HOL.VAN($A2;Munka2!$A:$A;0);1)

 

(Magyarázat: A képlet megkeresi az 1. munkalapon az A2 oszlopban lévő cikkszámot tartalmazó sort a 2. munkalapon, majd annak a B oszlopából kiolvassa a neked szükséges adatot és bemásolja a D oszlopba.)

 

A következő oszlopba a már átjavított névvel használt képletet másold át, de a $B helyett $C legyen. (Ezzel a képlet az 1. munkalap C oszlopban lévő adatát másolja). És így tovább mindig növelve az oszlop nevét.

 

Ha minden oszlop 2. sora elkészült, akkor jelöld ki az összeset a D-től végig, és húzd le a táblázat végéig.

 

Sajnos most nincs ötletem arra, hogy a $B helyett automatizálni lehessen az oszlop változását.

Ha a fórumtársak közt van valaki, aki erre is tud megoldást, és akkor nem kell kézzel átírogatni.

Előzmény: zsófi_01 (34110)
XNC Creative Commons License 2020.03.08 -1 0 34112

Vagy úgy kéne rá külön szoftvert írni, ami megcsinálja.

Előzmény: XNC (34111)
XNC Creative Commons License 2020.03.08 -1 0 34111

Adatbáziskezelőbe lehet ilyeneket csinálni.

De ne kérdezd tőlem a részleteket, mert ezt én már nagyon régen tanultam....

Előzmény: zsófi_01 (34110)
zsófi_01 Creative Commons License 2020.03.08 0 0 34110

Sziasztok! 

 Lenne egykis problémám

 

Adott 2 tablazat 2 külön munkafüzet lapon.

 

1. Tablazat

 

A oszlop: cikkszám ( egyedi rekordok)

B oszlop: gyartó neve

C oszlop: darabszám 

 

2. Tablázat

 

A oszlop: cikkszám (ugyanazok mint az 1. Táblazatban)

B oszlop: keszitő neve

C oszlop: minősegi elvárás  (egy szam 1től 30ig)

D oszlop: gyartáskor keszleten levő mennyiseg (db) 

(És még 30 másik oszlop ami hasonló) 

 

A probléma: a 2 táblazatból szeretnék 1 táblázatot készíteni. A probléma ott van, hogy a cikkszámok nem megegyező sorrendben vannak.  A sorbarendezes majd ctrl c ctrl v nem működik, mert az első táblázat egy programból kiexportált fájl, azt szeretném bővítve visszaimportálni, hiába írom át sorbarendezve az 1.t nem fogadja el. A 2. At pedig nem tudom az elsőnek megfelelően sorba tenni, mert az első random sorrendben van. Es van 5400 ilyen sorom...  

 

Valahogy össze lehet fésülni a 2t? 

 

Az egyedüli közös oszlop a cikkszám. (5400 eltérő, így remelem valahogy csak megoldható) 

 

 

Köszönöm!! 

pimre Creative Commons License 2020.03.07 0 0 34109

"Ezt meg lehet csinálni?" igen

"Ha igen, hogyan?" Ha cinikus szeretnék lenni, azt írnám: Szűréssel. Mert ilyen funkció van az Excelben.

 Az igazság az, hogy ehhez többet kellene írnod, arról, hogy milyen módon vitted fel a táblázatba az adatokat.

Ha például az A oszlopba írtad a válaszadók nevét, és a B oszlopba a válaszokat, akkor a fenti Adatok Csoportban a Rendezés és Szűrés alcsoportban a Szűrés gombra kattintasz, ahol megjelenik egy lefelé nyíl minden oszlopban. Ekkor a válaszok oszlopban (pl.B) a nyílra kattintasz, és kiveszed a pipát azokból, ahol nem a 2-es szerepel.

 

Persze, ha másként töltötted ki az adatokat, akkor más az eljárás. Akkor küldj egy képet a táblázatról, biztos lesz segítség. 

Előzmény: Perrito caliente (34108)
Perrito caliente Creative Commons License 2020.03.07 0 0 34108

Sziasztok!

Totál kezdő excel használóként kérdezném:

Egy kérdőívre adott válaszokat vittem be excel táblázatba. 

Ki szeretném szűrni azokat, akik mondjuk a harmadik kérdésre 2-es választ adtak, és a továbbiakban csak azokkal az adatokkal szeretnék dolgozni. Ezt meg lehet csinálni? Ha igen, hogyan? 

Előre is nagyon köszönöm! 

Edit

Delila10 Creative Commons License 2020.03.06 0 0 34107

Szívesen. :)

Előzmény: Csaba648 (34106)
Csaba648 Creative Commons License 2020.03.06 0 0 34106

Tökéletes, köszönöm!

Előzmény: Delila10 (34100)
pimre Creative Commons License 2020.03.05 0 0 34105

A képet elfelejtettem betenni. Íme:

 

Előzmény: pimre (34104)
pimre Creative Commons License 2020.03.05 0 0 34104

Lehetséges-e egy Userformon többsoros magasságú Textboxban függőlegesen középre pozicionálni a szöveget? Csak a vízszintest találom (TextAlign).

A valóságos gondom a felső, az alsó csak tévedésből született, de ha már itt van, akkor még jobban látszik a probléma.

 

Egyébként azért szeretném ilyen magasra állítani a Boxot, mert az előtte lévő rá vonatkozó Labelt szeretném esetenként kétsorossá tenni, és ahhoz jobban passzol a magasabb TextBox.

 

Van valami trükk ennek a megoldására?

Delila10 Creative Commons License 2020.03.05 0 0 34103

Egy ilyen rövid makrónál még elviselhető egy halom szóköz begépelése. :)

Előzmény: James 42 (34101)
Delila10 Creative Commons License 2020.03.05 0 0 34102

Az a bajom a bemásolással, hogy megszűnt az egykori tagolt formátum. Amolyan vasvillával behányt lesz a makró.

 

Function Darabszam(Mintacella, Terulet As Range)
   Dim CV As Object, db As Integer
   For Each CV In Terulet
      If CV.Interior.Color = Mintacella.Interior.Color And CV.Value = Mintacella.Value Then
         db = db + 1
      End If
   Next
   Darabszam = db
End Function

Előzmény: James 42 (34101)
James 42 Creative Commons License 2020.03.05 0 0 34101

Biztos jó lesz, de mennyivel könnyebb lenne neki bemásolni, ha nem képként tetted volna be...

Előzmény: Delila10 (34100)
Delila10 Creative Commons License 2020.03.05 0 1 34100

Egy saját függvénnyel megoldható. Egy modulba másold be.

 

Az E1 cellába másoltam a megszámolandó adatot, formátummal együtt. A képletet a G1-be írtam. Ennek első paramétere a mintacella (E1), a második a terület, ahol a megszámolandó cellák vannak ($A$2:$A$20)

 

Előzmény: Csaba648 (34099)
Csaba648 Creative Commons License 2020.03.05 0 0 34099

Sziasztok,

 

Egy olyan megoldásra lenne szükségem, ahol adott színkitöltésű és adott szöveget tartalmazó cellák darabszámát számolja meg a függvény, tehát mind a kettő feltétel együttes teljesülésénél számol csak.

 

Válaszotokat előre is köszönöm :)

Fferi50 Creative Commons License 2020.03.03 0 0 34098

Kedves Imre!

 

Semmi gond. Az a szép a programozásban, hogy többféle megoldás is létezik ugyanarra a problémára.

További jó munkát!

 

Üdv.

Előzmény: pimre (34097)
pimre Creative Commons License 2020.03.03 0 0 34097

Kedves Feri!

 

Nagyon köszönöm a fáradozásodat, de tekintettel arra, hogy a TakeFocusonClick = False beállítással sikerült megoldanom azt, hogy a Mégse gombra kattintva nem téved rá a vezérlés a BeforeUpdate eseményre, hanem végrehajtja a cmdMegse_Click alatt lévő utasításokat, amivel a program hibátlanul működik, egyelőre nem változtatnék a tegnap éjjel megtalált és működő módszeren. 

 

Egyébként ezt a Property-t én inkább TakeFocusonClickWithoutExecute elnevezéssel illetném, hiszen True beállítással éppen ezt csinálta:-) Nem hajtotta végre, de a Fókuszt rajta hagyta.

Előzmény: Fferi50 (34096)

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