Excelliste aus Visaul Basic sortieren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Excelliste aus Visaul Basic sortieren

    Hallo Gemeinde,
    ich bin neu hier und hoffe jemand kann mir helfen. Ich weiß es gibt schon eine Reihe Themen hierzu, aber ich keins gefunden was mir wirklich hilft.

    Also ich will aus Visual Basic auf das Sheet(2) einer Excel Datei zugreifen. Die enthält eine Liste, die von "A6" bis "A28" das Datum enthält. Diese Liste will ich nun sortieren, da die Daten ungeordnet eingegeben werden können. Natürlich müssen die angrenzenden Zellen "B6:H28" mit sortiert werden.
    Ich hoffe ich habe mich klar genug ausgedrückt. ich habe auch schon Zugang zu Sheet (2), aber dann....

    oSheet = oBook.Worksheets(2)
    oSheet.Range.Sort(oSheet.Range("A6", "A28"), _
    Excel1.XlSortOrder.xlAscending, , , _
    Excel1.XlSortOrder.xlAscending, , _
    Excel1.XlSortOrder.xlAscending, Excel1.XlYesNoGuess.xlNo, , , _
    Excel1.XlSortOrientation.xlSortColumns, _
    Excel1.XlSortMethod.xlStroke, _
    Excel1.XlSortDataOption.xlSortNormal, _
    Excel1.XlSortDataOption.xlSortNormal, _
    Excel1.XlSortDataOption.xlSortNormal)

    Da bekomme ich die Fehlermeldung
    Ein Ausnahmefehler des Typs "System.Reflection.TargetParameterCountException" ist in Microsoft.VisualBasic.dll aufgetreten.Zusätzliche Informationen: Die Anzahl der angegebenen Parameter stimmt nicht mit der erwarteten Anzahl überein.

    ;( ?(
    Danke für die schnell Antwort. Die Meldung habe ich gelesen leider weiß ich nicht welcher Parameter denn da fehlt. Wie kann ich das denn raus finden? Und ehrlich bin ich nicht sicher ob ich wirklich weiß was ein Parameter ist. Das sind doch z.B.: die Parameter oder nicht? XlSortOrder.xlAscending, Excel1.XlYesNoGuess.xlNo usw.
    Adressiere deine Parameter per Namen und nicht aufgrund der Position.
    Die Liste gibt's hier:
    msdn.microsoft.com/en-us/libra…rop.excel.range.sort.aspx

    VB.NET-Quellcode

    1. oSheet.Range.Sort(Key1:=oSheet.Range("A6", "A28"), Order1:=XlSortOrder.xlAscending, usw....

    Und falls du das nicht schon im Header drin hast: Imports Microsoft.Office.Interop.Excel
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()