🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Makro aus Excel für Libre

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
woifi
Beiträge: 5
Registriert: Mo 7. Mär 2016, 18:58

Makro aus Excel für Libre

Beitrag von woifi » Mo 7. Mär 2016, 19:10

Hallo,

ich werde mich mehr dem Libre (freie Software für freie User) widmen.

Ein Makro aus Excel, welches ich mal irgendwie zusammengebastelt hatte, möchte ich nun in Libre einbinden.

Kann mir bitte bitte wer beim Umschreiben helfen? Ich bin beim Programmieren so schlecht, dass ich mich jetzt noch wundere, dass ich Folgendes überhaupt mal geschafft hatte :)

Makro:
* Öffnet MsgBox
* Eingabe des EANCodes durch Handscanner (gibt Code ein und setzt am Ende automatisch ein Enter)
* Suche in einem definierten Zellenbereich (SPALTE AC wäre toll)
* Wenn gefunden dann Sprung zu einer benachbarten Zelle (SPALTE AE in gleicher Zeile wie gefunden)
* wenn nicht gefunden dann Msg "nicht gefunden".

Code: Alles auswählen

Option Explicit
Dim EanEingabe
Dim RangeObj

Sub EanSuche()
   EanEingabe = InputBox("EAN:")
    If StrPtr(EanEingabe) = 0 Then Exit Sub
    Set RangeObj = Cells.Find(EanEingabe, LookAt:=xlWhole)
    If RangeObj Is Nothing Then MsgBox "Not Found" Else Cells.Find(EanEingabe, LookAt:=xlWhole).Activate
    ActiveCell.Offset(0, 2).Range("A1").Select
End Sub
Bitte um Hilfe

F3K Total
* LO-Experte *
Beiträge: 2515
Registriert: So 10. Apr 2011, 10:10

Re: Makro aus Excel für Libre

Beitrag von F3K Total » Mo 7. Mär 2016, 20:10

Hi,
du hast Glück gehabt, hatte einen guten Tag, das nächste Mal wird's teuer ;)

Code: Alles auswählen

Sub EanSuche()
    EanEingabe = InputBox("EAN:","Search EAN")
    If EanEingabe = "" Then 
        msgbox "Input required"
        Exit Sub
    endif
    oRange = ThisComponent.NamedRanges.getbyname("xlwhole")
    oSearchDescriptor = oRange.ReferredCells.createSearchDescriptor
    oSearchDescriptor.SearchString = EanEingabe
    oResult = oRange.ReferredCells.findFirst(oSearchDescriptor)
    if isNull(oResult) then
        Msgbox ("EAN-Number " & EanEingabe & " was not found",16,"Error")
    else
        oController = ThisComponent.CurrentController
        nSheet =  oResult.CellAddress.sheet
        nRow = oResult.CellAddress.row
        ocell = thiscomponent.sheets(nSheet).getCellbyposition(30, nRow)'Spalte 30 entspricht AE
        oController.select(oCell)    
    endif
End Sub
Beispiel anbei

Gruß R
Dateianhänge
EAN_Search.ods
(13.09 KiB) 89-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

woifi
Beiträge: 5
Registriert: Mo 7. Mär 2016, 18:58

Re: Makro aus Excel für Libre

Beitrag von woifi » Di 8. Mär 2016, 08:50

Lieber/e F3K Total,
ich danke dir viel viel viel mal für deine Arbeit und weiß das sehr zu schätzen!


Danke vielmals!


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten