Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Variable zuordnen, wie?

Betrifft: Variable zuordnen, wie? von: Siegfried
Geschrieben am: 30.09.2020 11:16:39

Hallo alle Helferleins,
stehe wieder einmal vor einem kleinen Problem, habe es zwar inzwischen über Umwege gelöst, nur mich würde eine kurze Lösung dazu schon sehr interessieren, vermutlich denke ich irgendwo falsch.
Es geht darum in der Variablen „Inhalt“ nach verschiedenen Kriterien zu suchen und habe mir dazu eine

  • For s 1 To 9
  • angelegt.
    Mit jedem Durchlauf sollte er also nach der nächsten Vorgabe suchen, dachte dies mit Such = "Such" & Trim(s) zu erreichen, geht leider nicht, daher dann die doch etwas umständliche Zuordnung mit
  • If s = 1 Then Such = Such1
  • usw.

    Was habe ich in meiner Zuordnung bitte FALSCH?
    Variable zuordnen, wie?
    Gruß Siegfried
    P.S.
    Das Einfügen mit Liste als auch das Anhängen eines Bildes macht derzeit Probleme

    Betrifft: AW: Variable zuordnen, wie?
    von: Rudi Maintaire
    Geschrieben am: 30.09.2020 11:35:51

    Hallo,
    ziemlich wirr, deine Anfrage.
    vermutlich sowas
    Dim Such(1 to 9)
    For s=1 to 9
    'hier mit Such(s) weiter
    Next s

    Gruß
    Rudi

    Betrifft: AW: Variable zuordnen, wie?
    von: Siegfried
    Geschrieben am: 30.09.2020 14:46:42

    Hallo Rudi,
    ja, genauso dachte ich es mir nur in Such übergibt er mir nicht das Such(S),



    Gruß Siegfried

    Betrifft: AW: Variable zuordnen, wie?
    von: Rudi Maintaire
    Geschrieben am: 30.09.2020 15:07:54

    soll ich das jetzt abtippen?
    Such(1)="<br><b>festivo"
    etc

    Betrifft: AW: Variable zuordnen, wie?
    von: Siegfried
    Geschrieben am: 30.09.2020 16:29:27


  • If Land = "ES" And SPRA = "" Then
    Such1 = "<br><b>Festivo"
    Such2 = "<br><br><br><b>"
    Such3 = "</div> <ul class="
    Such4 = "</div> <ul class="
    Such5 = "</div> <ul class="
    Such6 = Such5
    Such7 = Such5
    Such8 = Such5
    Such9 = Such5
    ElseIf Land = "ES" And SPRA = "DEU" Then
    Such1 = "</font></font><br><br><br><b><font style="
    Such2 = "</font></font><br><br><br><br><b><font style="
    Such3 = "</font></font><br><br><b><font style="
    Such4 = "</font></font><br><b><font style="
    Such5 = "</font></font></div> <ul class="
    Such6 = "</font></font><br><font style="
    Such7 = "</font></font></div>"
    Such8 = "</font></font><br>"
    Such9 = "Uhr</font>"
    End If

    For s = 1 To 9
    Such = "Such" & Trim(s)

    If s = 1 Then Such = Such1
    If s = 2 Then Such = Such2
    If s = 3 Then Such = Such3
    If s = 4 Then Such = Such4
    If s = 5 Then Such = Such5
    If s = 6 Then Such = Such6
    If s = 7 Then Such = Such7
    If s = 8 Then Such = Such8
    If s = 9 Then Such = Such9
    Rem If x = 18 Then Stop

    If InStr(Tag_B + 1, Inhalt, Such) > 0 Then
    Tag_E = InStr(Tag_B + 1, Inhalt, Such)
    If Tag_B = 10 Then Exit For
    If Tag_E > 0 Then Exit For
    End If
    Next s

  • Mal schauen ob's diesmal funktioniert
    Ich dachte so müsste es doch eigentlich funktionieren, Such = "Such" & Trim(s), aber es wird nicht der Inhalt der jeweiligen Such 1 bis 9 in die Such übergeben.

    Betrifft: HTML kann man anders parsen
    von: Zwenn
    Geschrieben am: 30.09.2020 16:35:49

    Hallo Siegfried,

    Du willst etwas in einem HTML-Dokument finden? Das kann man komplett anders machen, sofern Du unter Windows arbeitest. Kannst Du ein paar mehr Infos geben oder den Link zu der Seite, von der Du etwas auslesen möchtest, wenn es keine rein lokale Geschichte ist?

    Viele Grüße,

    Zwenn

    Betrifft: AW: HTML kann man anders parsen
    von: Siegfried
    Geschrieben am: 30.09.2020 18:05:12

    Hallo Zwenn,
    ja bitte, stelle dir sehr gerne den Link zur Verfügung.

    https://www.lidl.de/de/filialen-im-ausland/s1061

    Um was geht es, ich erarbeite mir von den LIDL-Filialen (gab es bis vor 2 Jahren als fertigen Download auf der LIDL WEB) aus den verschiedenen Ländern die LIDL-Filialen, wichtig aber die GPS-Koordinaten dazu, wenn geht die Öffnungszeiten und was so zusätzlich bei der Filiale angeboten wird, um diese Daten in mein Navi-Gerät einzulesen und im Urlaub jederzeit den kürzesten Weg zur nächsten Filiale zu haben.
    Leider sind die Daten in den verschiedenen Ländern etwas unterschiedlich aufgebaut, also nicht überall mit ein und dergleichen Programmierung aus lesbar.
    Alleine hier in ES sind viele Unterschiede um aus dem String die gewünschten daten heraus lesen zu können.
    Mal sehen ob du denn Über trüber Gedanken dazu hast.
    Im Anhang ein Bild wie das Endprodukt aussehen sollte.


    Betrifft: AW: HTML kann man anders parsen
    von: Zwenn
    Geschrieben am: 01.10.2020 09:46:04

    Hallo Siegfried,

    hast Du das nicht auch schon mit Aldi gemacht/ versucht?

    Also das ist eine mehrstufige Kaskade und damit relativ aufwändig. Bedeutet:
  • Man ruft die erste Seite auf, liest die Länderlinks aus

  • Man ruft zu jedem Land die Filialliste auf und liest die Städtelinks aus

  • Man ruft jede Stadt-Seite auf und liest die Daten zu den Filialen aus

  • Man ruft jede ausgelesene Adresse bei Google-Maps auf, um die Koordinaten zu erhalten


  • Ich habe noch nicht die in HTML-Codes der Seiten geschaut. Aber das ist der grobe Weg. Zeig mal bitte, was Du bisher hast. Am Besten lädst Du eine Excel-Datei mit Makro und aufbereiteten Daten hier im Forum hoch.

    Viele Grüße,

    Zwenn

    Betrifft: AW: HTML kann man anders parsen
    von: Siegfried
    Geschrieben am: 02.10.2020 23:08:37

    Hallo Zwenn!

    Nun gerade das was du hier in deiner Antwort aufgelistet hast,
    Also das ist eine mehrstufige Kaskade und damit relativ aufwändig.
    Bedeutet:
    • Man ruft die erste Seite auf, liest die Länderlinks aus
    • Man ruft zu jedem Land die Filialliste auf und liest die Städtelinks aus
    Bekommst du nicht, nur bei jenen wo man den Umkreis einstellen kann, dabei das höchste 100Km Umkreis, bekommt man halbwegs Daten, sonst ist die Abfrage auf höchstens 10 Datensätze beschränk, wobei dann de Aufbau der *.html total anders ist als bei der einstellbaren Umkreisversion.

    • Man ruft jede Stadt-Seite auf und liest die Daten zu den Filialen aus
    Hast du dir schon mal überlegt was das z.B. für ES (von DEU will ich gar nicht reden) bedeutet, hat insgesamt ca. 600 Filialen, 485 davon habe ich bereits, dauerte aber ca. 2 Tage bis ich alles zusammen hatte.

    • Man ruft jede ausgelesene Adresse bei Google-Maps auf, um die Koordinaten zu erhalten
    Nun die Koordinaten stehen in der *.html drinnen, sonst wäre ja die Erstellung einer Route von meinem Standort zum gewünschten Ziel nicht möglich, also das kleinste Problem für mich gewesen zu diesen zu kommen.
    Die größten Probleme sind, der Unterschied des *.html – Aufbau bei den verschiedenen Ländern. Habe LIDL dazu bereits angeschrieben, Antwort, es muss eine gewisse Grundstruktur eingehalten werden, sonst ist der Aufbau jedem Land überlassen.
    Ja und dann noch, da anscheinend die Filialen/oder sonst wer selbst gewisse Daten wie Öffnungszeiten usw. selbst eingeben können, gibt es sehr viele Unterschiedliche Schreibweisen, welche wiederum viele Abfragesteuerung erfordert um auf einen halbwegs gleiches Endprodukt zu kommen.
    Darum hätte mich dein Vorschlag interessiert, aber ich glaube so leicht lässt sich das damit auch nicht knacken, aber trotzdem DANKE für deine Anregung.

    Gruß Siegfried

    Betrifft: AW: HTML kann man anders parsen
    von: ChrisL
    Geschrieben am: 02.10.2020 20:14:51

    Hi Siegfried

    https://groups.google.com/forum/#!topic/de.alt.fan.aldi/E950L-YJGKA
    Ob der Anbieter (pocket navigation de) etwas taugt, habe ich nicht geprüft.

    Ansonsten würde ich einfach mal eine kurze Mail (oder Twitter) an Lidl schreiben. Soviel Marketing-Gespür traue ich der Unternehmung zu, dass sie dir die Liste gratis zustellen und für die Zukunft vielleicht sogar online publizieren. Es wäre gelacht, wenn sie einem Lidl-Enthusiasten den Wunsch verwehren würden.

    Da du die Adressliste scheinbar bereits hast, könntest du die Datenanreicherung auch mal mit ein allgemeinen Karten-/Map-Anbieter versuchen. Wenigstens für die Koordinaten sollte z.B. "VBA Geocoding" oder "VBA Koordinaten" Suchresulate liefern.

    cu
    Chris

    Betrifft: AW: HTML kann man anders parsen
    von: Siegfried
    Geschrieben am: 02.10.2020 23:48:34

    Hallo ChrisL!

    Möchte nur mal darauf Hinweisen das dein LINK nicht funktioniert, ja und was (pocket navigation de) betrifft, kenne ich bestens, habe denen auch immer wieder Datenaktualisierungen zur Verfügung gestellt und leben eigentlich hauptsächlich nur von der Datenaktualisierung ihrer User.
    Wenig Eigeninitiative von der Forumsleitung zu den Daten.

    Ich beschäftige mich ja mit diesem Thema POI’s aus den verschiedensten Bereichen nicht erst seit gestern, sondern schon einige Jahre, um für mein eigenes verwendetes Navi-System immer so halbwegs am letzten aktuellen Stand zu sein.

    Deine Anregung (Ansonsten würde ich einfach mal eine kurze Mail (oder Twitter) an Lidl schreiben.), in Ehren, habe ich doch alles bereits gemacht, aber leider keine positive Rückmeldung, leider im Gegenteil teilweise blöde Rückantworten.
    Wie z.B., es sind alle Filialseiten ohne Probleme aufrufbar, hat dann als Rückantwort den Hinweis bekommen (mit Screenshot) das 4 Filialen nicht aufgemacht werden können, so als wenn gerade die Webseite umgebaut oder sonstiges wird und das bereits seit vier Wochen.
    Oder GPS-Koordinaten haben wir nicht, ist Ihnen nicht bekannt das sie bei jedem Datensatz dabei sind, OK für den Normalverbraucher natürlich nicht sichtbar, aber wenn sie nicht vorhanden wären könnte man ja nie eine Route vom eigenen Standort zur gewünschten Filiale erstellen.

    Ja wenn man wenigstens eine Adressliste sämtlicher Filialen bekommen würde, könnte man ja wieder mit einem speziellen Programm sich die dazugehörigen GPS-Daten auslesen, bekommst du aber nicht.

    Ich war z.B. vor einigen Jahren auf einer WoMo-Rundreise durch Polen, von den 15 teilnehmenden Wohnmobilen sind über die Hälfte nach jedem Standortwechsel um die Koordinaten der nächsten LIDL-Filiale zu mir gekommen um den Bedarf an Lebensmittel wieder zu ergänzen.

    Wie schon einmal erwähnt, bis vor ca. 2-3 Jahren konnte man die GPS-Daten, aufbereitet sogar für die verschiedensten Navi-Systeme sich unter der Filialliste herunterladen, wurde leider eingestellt, da ja viele Unternehmen der Meinung sind mit der Filialseite über die APP erübrigt sich das ja, ja für einen PKW aber nicht für Wohnmobile mit etwas größeren Abmessungen.

    Jedenfalls DANKE für deine Anregung, ich werde es schon irgendwie schaffen, habe ja doch schon einige Länder fertig.

    Gruß Siegfried

    Betrifft: AW: HTML kann man anders parsen
    von: ChrisL
    Geschrieben am: 03.10.2020 08:32:48

    Hi Siegfried

    OK verstehe. Womöglich streichen die ihre Filialen bald mit Tarnfarbe.

    cu
    Chris

    Betrifft: AW: Variable zuordnen, wie?
    von: Nepumuk
    Geschrieben am: 30.09.2020 11:36:36

    Hallo Siegfried,

    würde ich so machen:

    Option Explicit

    Public Sub Test()
        Dim avntValues As Variant, vntItem As Variant
        avntValues = Array("test1", "test2", "test3", "test4", "test5", "test6", "test7", "test8", "test9")
        For Each vntItem In avntValues
            MsgBox vntItem
        Next
    End Sub

    Gruß
    Nepumuk