Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA ändern, verbessern

Forumthread: VBA ändern, verbessern

VBA ändern, verbessern
04.10.2024 15:12:44
Simon
Hallo.

Leider sind wir jetzt auf ein Problem gestoßen.

Wir haben folgenden Text in der VBA:

'text zwischen eckigen Klammern ermitteln
Pos1 = InStr(txt, "Incoming")
Pos1 = InStr(Pos1, txt, "[")
Pos2 = InStr(Pos1, txt, "]")

dieser geht in Edge, Chrome
leider aber nicht in FireFox.
Dort gibt es Incoming leider 2x wobei das erste leer ist und wir dann dort keine Daten bekommen.
Kann man es so erweitern das wenn keine Zahlen in der [ ] sehen das er dann zum nächsten Incoming geht und diesen nimmt zur Verarbeitung.

Danke für Eure Hilfe.

VG
Simon
Anzeige

38
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
JSON-Parser
04.10.2024 15:26:20
Yal
Moin Simon,

Wenn ich mich recht erinnere, ist dir einen Tipp in Richtung JSON-Parser Bibliothek gegeben worden.
Warum noch weiter in deiner Bastelei Richtung schmoren?

Zugegeben ist es die Meinung von jemand, der zuerst vieles "per Hand" versucht hat. Dann kommt man auf dem Gedanken, dass sicher jemand dieselbe Problem schon hatte und setzt dann auf die Wiederverwendung von Standards. Du würdest damit einige unnötige Schritten überspringen.

Mit der JSON-Parser Bib kannst Du schnell die beiden "Incoming"-Array (in json durch [ ] eingegrenzt) isolieren und testen, ob einen Inhalt vorhanden ist.
Die investierte Zeit, json zu verstehen, ist weittragender als in der Bastelei zu verharren.

VG
Yal

Anzeige
AW: JSON-Parser
04.10.2024 15:47:49
Simon
bei Daten -> Abrufen aus Json steht bei mir nicht..
habe auch mir mal die Seite angesehen, muss mich damit mal genauer beschäftigen..
müsse dann wenn es funktioniert noch einiges Umbauen..
AW: JSON-Parser
04.10.2024 19:00:49
Yal
Oha, ich sehe, dass es doppelseitig war:
in Power Query geht es über "aus Datei", dann "aus JSON".

Aber ich meinte eigentlich, dass es einen Weg gibt, in VBA eine fertigen Modul zu runterladen ( https://github.com/VBA-tools/VBA-JSON ) und zu verwenden, sodass der gesamte Pfad deinen "Incoming"-Array eindeutig ist.

Wenn ich Rechner wäre, hätte ich es schnell kodiert.

VG
Yal
Anzeige
AW: JSON-Parser
04.10.2024 19:39:56
Onur
Da du aber kein Rechner bist.... . :)
AW: JSON-Parser
04.10.2024 20:10:46
Simon
entweder finde ich es nicht oder es gibt es nicht bei mir

Userbild
AW: JSON-Parser
04.10.2024 21:50:45
Yal
Mein lieber Simon,

wenn Du einen neuen Wissensbereich erschließen möchtest, musst Du deinen Forschungsdrang und Entdeckerwillen schärfen.

Menü Daten, externe Daten abrufen, aus Datei, aus json.

VG
Yal
Anzeige
AW: JSON-Parser
05.10.2024 10:57:31
Simon
Kann ich nicht finden....
Bei Excel 2016 wo anders??
AW: JSON-Parser
05.10.2024 11:27:45
Volti
Moin Simon,

Hast du in Bezug auf deine Frage mal meinen Vorschlag ausprobiert?

Gruß KH
AW: JSON-Parser
05.10.2024 11:56:15
Simon
Ich muss dazu wohl das ganze Makro ändern..
so geht es nicht...
oder dir mal zukommen lassen...
Anzeige
AW: JSON-Parser
05.10.2024 17:22:15
Simon
Userbild

ich sehe kein Json...
AW: JSON-Parser
05.10.2024 17:51:34
Onur
Nur bei Excel365.
AW: JSON-Parser
05.10.2024 17:57:15
Simon
hab Excel 2016....
muss ich doch mal neu kaufen :-(
Anzeige
AW: JSON-Parser
07.10.2024 09:42:15
Yal
Guten morgen,

mit ein bisschen Eifer und Kreativtität in deiner liebste Suchmaschine hättest Du vielleicht entdeckt, wie man in Excel 2016 JSON mit Power Query behandelt.

Hier ein Leitpfaden, der auch in 2016 funktionieren sollte:
- nehme eine freie Zelle, gibt diese einen Namen, z.B. "json"
- füge der Inhalt der Zwischenablage in diese Zelle, und zwar über die Formel-Verarbeitungsleiste, um sicherzustellen, dass der gesamte JSON- in einer einzige Zelle reinkommt,
- markiere diese Zelle,
- im Menü "Daten", "aus Tabelle/Bereich" anklicken,
- Du bist im Power Query und der Anfang der JSON ist sichtbar,
- im Menü "Transformieren", "Analysieren", "aus JSON"
- in der Überschrift der Spalte "Body" auf der Expand-Schaltfläche (doppelte auseinandergehende Pfeile) klicken, nur Element "StoragesInfo" anhaken,
- in der Überschrift der Spalte "Incoming" rechtsklicken und "andere Spalten entfernen"
- in der Überschrift der Spalte "Incoming" auf der Expand-Schaltfläche "auf neue Zeilen ausweiten"
- Menü "Datei", "Schliessen & laden"
Fertig.

Um den direkten Zugriff auf die originale Webseite einzubauen (Onur hat dir bereits ein Beispiel gegeben), und somit das Thema Zwischenablage ad acta zu befördern, siehe https://excelhero.de/power-query/power-query-ganz-einfach-erklaert

VG
Yal
Anzeige
AW: JSON-Parser
04.10.2024 19:44:16
Yal
Nun ja, Smartphone machen manchmal eigenwillige Interpretation von meinem Wischerei :-))

Aber in den Fall habe ich "am" wohl nicht eingetippt. "Wenn ich am Rechner wäre"

VG
Yal
AW: JSON-Parser
04.10.2024 19:51:10
Onur
Ich weiss - Sch... -Autokorrektur! :)
AW: VBA ändern, verbessern
04.10.2024 15:36:07
Onur
txt = Replace(txt,"[]","")'oder MIT Leerzeichen in der Klammer

Pos1 = InStr(txt, "Incoming")
Pos1 = InStr(Pos1, txt, "[")
Pos2 = InStr(Pos1, txt, "]")
Anzeige
AW: VBA ändern, verbessern
04.10.2024 17:36:02
volti
Hallo Simon,

Du kannst es ja mal so versuchen....

Sub Test()

Dim sTxt As String, sArr1() As String, sArr2() As String, i As Long

sTxt = "body blabla" & vbLf & "Incoming:[]blabla" _
& vbLf & "blabla Incoming:[3,4,5]" & vbLf & "Outgoing"

sArr1 = Split(sTxt, "Incoming:[")
sTxt = ""
If UBound(sArr1) > 0 Then
For i = 1 To UBound(sArr1)
sArr2 = Split(sArr1(i), "]")
If sArr2(0) > "" Then sTxt = sArr2(0): Exit For
Next i
End If
Debug.Print sTxt & "!"
End Sub


Gruß
Karl-Heinz
Anzeige
AW: VBA ändern, verbessern
04.10.2024 15:51:36
Simon
Danke...
leider kein anderes Ergebnis, bleibt immer noch leer...
AW: VBA ändern, verbessern
04.10.2024 15:58:44
Onur
Pos1 = InStr(txt, "Incoming")

Pos1 = Pos1 + InStr(Pos1+1,txt, "Incoming")
Pos1 = InStr(Pos1, txt, "[")
Pos2 = InStr(Pos1, txt, "]")
AW: VBA ändern, verbessern
04.10.2024 16:32:03
Simon
Leider auch nicht...

dass ist der Quelltext

Userbild
Anzeige
AW: VBA ändern, verbessern
04.10.2024 16:34:36
Onur
Poste die Datei.
AW: VBA ändern, verbessern
04.10.2024 20:10:30
Onur
Und wie genau kommt der Text in den Clipboard?
Anzeige
AW: VBA ändern, verbessern
04.10.2024 20:12:24
Simon
den holen wir von einer Seite im Netz...
aber leider ist es in FireFox anders formatiert
AW: VBA ändern, verbessern
04.10.2024 20:13:23
Onur
Der Code holt selber NIX aus dem Netz ???
AW: VBA ändern, verbessern
04.10.2024 20:21:38
Onur
Was ich nicht verstehe: Wozu brauchst du einen Browser, um Daten aus einer Webseite zu ziehen?
Poste mal bitte den Link zu der Seite mit den Daten.
AW: VBA ändern, verbessern
04.10.2024 21:44:20
Simon
sind verschiedene Welten von Rail Nation...
habe aber von jeder Welt die IDs der Städte
AW: VBA ändern, verbessern
05.10.2024 11:58:20
Simon
Geht es auch schneller und einfacher die Daten zu bekommen??
Anzeige
AW: VBA ändern, verbessern
05.10.2024 12:17:59
Onur
Natürlich.
AW: VBA ändern, verbessern
05.10.2024 12:20:59
Simon
könntest du wie sagen wie und auch zeigen wenn möglich
AW: VBA ändern, verbessern
05.10.2024 19:58:49
Simon
@Onur...

wie geht es nun schneller und einfacher??
Anzeige
AW: VBA ändern, verbessern
05.10.2024 22:32:03
Onur
Wenn du einen Link posten würdest, der auch bei Jedem (statt nur bei dir) funktioniert, könnte ich es zeigen.
AW: VBA ändern, verbessern
06.10.2024 12:28:16
Simon
link habe ich doch gepostet...
du wirst aber nicht ohne PW reinkommen...
AW: VBA ändern, verbessern
06.10.2024 14:44:07
Simon
oder mal einen Ansatz das ich es dann mal probieren könnte ob es geht...
da ich mich auch immer anmelden muss mit Name und PW wird es wohl nicht so einfach sein..
Anzeige
AW: VBA ändern, verbessern
05.10.2024 12:21:56
Onur
Poste den Link endlich.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige