Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1956to1960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro von Thorsten soll Ausgaben in Spalten aufteilen

Makro von Thorsten soll Ausgaben in Spalten aufteilen
20.12.2023 17:29:58
Christian
Hallo Thorsten,
und natürlich auch Hallo an alle anderen Helfer, die meinen Beitrag lesen.

Du hast mir vor ein paar Wochen mit folgendem Makro ausgholfen, welches alle Hyperlinks und noch ein paar weitere Informationen dazu von verschiedenen Internetseiten, die in Spalte A stehen auflistet


Public Sub test()

Dim objIE As Object
Dim objLinks As Object
Dim objLink As Object
Dim lngCount As Long

Dim lloRow As Long, lshTab2 As Worksheet

Set lshTab2 = Sheets("Tabelle2")

For lloRow = 1 To lshTab2.Cells(lshTab2.Rows.Count, 1).End(xlUp).Row
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.navigate lshTab2.Range("A" & lloRow).Text
Do While .busy
Do While .busy
DoEvents
Loop
Loop
.Visible = False
Set objLinks = .Document.Links
For Each objLink In objLinks
lngCount = lngCount + 1
lshTab2.Cells(lngCount, 2) = objLink.href
lshTab2.Cells(lngCount, 3) = "'" & objLink.outertext
Next
.Quit
End With
Next

Set objIE = Nothing
Set lshTab2 = Nothing

End Sub


Ich hätte vielleicht noch eine kleine Bitte, ist es möglich dass das Makro anstatt alles in die Spalten B und C zu schreiben, für jede Adresse in Spalte A eigene Spalten macht?

Also erster Link in Spalten B und C, zweiter in D und E, dritter in F und G usw.

Hier nochmal der Link zu dem alten Thread

https://www.herber.de/forum/archiv/1956to1960/1957014_Links_aus_Internetseite_auslesen.html

Dankeschön
Christian

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Gibt es da keine Lösung? owT
22.12.2023 10:12:08
Christian
.
AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
22.12.2023 13:49:44
Piet
Hallo Christian

obwohl ich den Code nicht geschrieben habe, hier mal eine Simpellösung von mir. Die sollte genügen.
Es geht um den Codeteil nach Set objLinks, da must du ein Spalten Offset einfügen. 1 Spalte = 2 für B
Wenn du statt zwei Werte, objLink.href + objLink.outertext nur einen Wert benutzt, dann Spalten Offset =1

mfg Piet

  • Set objLinks = .Document.Links
    Sp = 2 '1. Spalte setzen
    For Each objLink In objLinks
    lngCount = lngCount + 1
    lshTab2.Cells(lngCount, Sp + 0) = objLink.href
    lshTab2.Cells(lngCount, Sp + 1) = "'" & objLink.outertext
    Sp = Sp + 2 '2. Spalten weiter nach rechts
    Next
  • Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    25.12.2023 20:32:18
    Piet
    Hallo

    ich rate mal ob ich jetzt richtig liege, bin mir aber nicht sicher. Beim testen seihst du es ja.
    Die Links kommen so alle in Zeile1, immer um 2 Spalten nach rechts versetzt. Bin gespannt ob es so richtig ist??

    mfg Piet

                
    
    For Each objLink In objLinks
    sp = sp + 2 '1.Spalte beginnt in B
    lshTab2.Cells(1, sp + 0) = objLink.href
    lshTab2.Cells(1, sp + 1) = "'" & objLink.outertext
    Next
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    26.12.2023 11:59:19
    Christian
    Hallo Piet,

    tut es leider nicht, es soll so aussehen wie in meiner Bsp Datei.

    Bislang wurden alle Links untereinander in dieselben Spalten geschrieben, in Zukunft sollen pro Link in Spalte A zwei separate Spalten genommen werden.

    Gruß
    Christian
    Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    26.12.2023 18:01:54
    Piet
    Hallo Christian

    Sorry, ich stehe immer noch auf dem Schlauch. Vor allem mit dieser Aussage:
    in Zukunft sollen pro Link in Spalte A - zwei separate Spalten - genommen werden.

    Kannst du mir bitte noch mal eine Beispieldatei mit zwei Tabellen erstellen, eine als Quelle, eine als Ziel.
    Und dann in der Zieltabelle bitte ganz genau angeben, was aus der Quelltabelle in welche Spalten der Zieltabelle soll.

    Wieviele Links können denn da in Spalte A untereinander stehen?? Meine Bedenken ...
    Bei 100 oder mehr dürfte dein Bildschirm nicht mehr ausreichen um alle Links zu sehen.

    mfg Piet
    Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    26.12.2023 21:23:20
    Christian
    Hallo Piet,

    ich weiß jetzt nicht so recht, ob ich richtig verstanden habe, was für eine Datei du dir wünschst,
    aber habe trotzdem nochmal eine gemacht:

    https://www.herber.de/bbs/user/165479.xlsm

    Ich habe in Spalte A 3 Url's, hab zur Unterscheidung für jede eine andere Farbe genutzt.
    Mein altes Makro in Tabelle2 hat sämtliche Inhalte in Spalte B und C untereinander geschrieben, auch da habe ich es nach Farben getrennt zur Unterscheidung von welcher Seite was stammt.

    So wie in Tabelle Wunsch soll es aussehen, nicht mehr alles in einer Spalte, sondern für jede der 3 URL's zwei eigene Spalten.

    Hoffe jetzt ist es klar.
    Christian

    Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    22.12.2023 20:06:02
    Christian
    Hallo Piet,

    danke erstmal, dass du dich meiner Bitte angenommen hast, auch wenn es ein fremdes Makro ist.

    Ich habe zum Testen unten stehendes Makro genommen, Fehlermeldung kommt keine, aber ich befürchte es gab ein Misverständnis. Das Makro macht für jeden einzelnen Link eine neue Spalte und eine neue Zeile.

    Ich meinte jedoch, alle Links die aus der URL in A1 stammen in Spalte B und C, alle die aus A2 stammen in D und E alle die aus A3 stammen in F und G usw.
    Und jedesmal wieder in Zeile 1 anfangen.

    Public Sub test()
    
    Dim objIE As Object
    Dim objLinks As Object
    Dim objLink As Object
    Dim lngCount As Long
    Dim Sp As Long

    Dim lloRow As Long, lshTab2 As Worksheet

    Set lshTab2 = Sheets("Tabelle2")

    For lloRow = 1 To lshTab2.Cells(lshTab2.Rows.Count, 1).End(xlUp).Row
    Set objIE = CreateObject("InternetExplorer.Application")
    With objIE
    .navigate lshTab2.Range("A" & lloRow).Text
    Do While .busy
    Do While .busy
    DoEvents
    Loop
    Loop
    .Visible = False
    Set objLinks = .Document.Links
    Sp = 2
    For Each objLink In objLinks
    lngCount = lngCount + 1
    lshTab2.Cells(lngCount, Sp + 0) = objLink.href
    lshTab2.Cells(lngCount, Sp + 1) = "'" & objLink.outertext
    Sp = Sp + 2
    Next
    .Quit
    End With
    Next

    Set objIE = Nothing
    Set lshTab2 = Nothing

    End Sub
    Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    22.12.2023 21:23:21
    Piet
    Hallo

    dann lösche bitte mal sp=2 vor der For Next Schleife, und füge es oben hinter diese Zeile ein.
    Set lshTab2 = Sheets("Tabelle2") *** schau bitte mal was dann dabei herauskommt??

    mfg Piet
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    25.12.2023 16:15:28
    Piet
    Hallo Christian

    irgendwie blicke ich bei der Aufgabenstellungn nicht durch wie es sein soll??

    Die Datensätze scheinen auch nicht übereinzustimmen. In 165445 wiederholen sich die Einträge mehrfach!
    In 165444 sehe ich 4 Daternsätze untereinander, dann Spaltenweise verschoben. Und in drei Spalten statt zwei.
    Kannst du mir das bitte noch mal genauer erklären.

    mfg Piet
    Anzeige
    AW: Makro von Thorsten soll Ausgaben in Spalten aufteilen
    25.12.2023 17:37:22
    Christian
    Hallo Piet,

    vielleicht erkläre ich das am einfachsten so. Vergess erstmal das Makro, bei dem alles verschoben ist, sondern nimm nur das, was ich ursprünglich gepostet habe.
    Lösch erstmal alles, außer dem Link in A1.

    Das ursprüngliche Makro schreibt dann die Links die es auf dieser Seite findet, sowie die Outer Texts in die Spalten B und C.

    Jetzt mach das Ganze noch einmal mit 2 Links, in A1 und A2.

    Das ursprüngliche Makro geht hin und schreibt alle Links und Outer Texts, die es in diesen beiden Seiten findet untereinander in Spalte B und C.

    Meine Bitte war nun, dass nicht alles in B und C geschrieben wird, sondern wenn eine neue URL genommen wird, auch zwei neue Spalten genommen werden und in diesen wieder bei Zeile 1 begonnen wird. So wie in der zweiten Bsp. Datei.

    Also nicht alles was gefunden wird in die Spalten B und C sondern nach Link in Spalte A unterteilt.

    Das die Ergebnisse in jeder Spalte identisch sind, liegt daran dass ich in Spalte A 4x dieselbe URL genommen habe.

    Gruß und frohe Weihnachten
    Christian
    Anzeige
    aber kleiner Nachtrag
    25.12.2023 17:39:55
    Christian
    ich hab mir das längst mir Hilfsspalten/Formeln von Hand zusammenkopiert, dass das alles nebeneinander steht. Wäre zwar schön, für die Zukunft eine Makrolösung zu haben, aber ich kann auch so erstmal weiterarbeiten, hat also auch problemlos bis nach Weihnachten oder gar ins neue Jahr Zeit.

    Gruß
    Christian

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige