Microsoft Excel

Herbers Excel/VBA-Archiv

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

Hyperlink auslesen, sortieren und Zeilen löschen | Herbers Excel-Forum


Betrifft: Hyperlink auslesen, sortieren und Zeilen löschen von: Christian
Geschrieben am: 28.07.2012 12:00:52

Hallo alle zusammen,

ich würde mich sehr freuen, wenn ihr mir ein Makro erstellt, das folgendes macht:

1. alle Zeilen löschen, die in Spalte C keinen Hyperlink haben.
2. alle Zeilen löschen, deren Text in Spalte C auf die Zeichenfolge series) endet (inklusive der Klammer).
3. Die Internetseite, die jeweils durch Klicken auf den Hyperlink in Spalte C geöffnet wird, in Spalte F schreiben und zwar so, dass man ebenfalls durch Klicken die Seite öffnen kann.
4. Zum Schluss die Tabelle nach Spalte F aufsteigend sortiert.

Vielen Dank für Eure Hilfe
Christian

  

Betrifft: AW: Hyperlink auslesen, sortieren und Zeilen löschen von: Josef Ehrensberger
Geschrieben am: 28.07.2012 15:38:27


Hallo Christian,

in Ermangelung einer Beispieldatei - ungetestet!

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub christian()
  Dim rng As Range, rngDel As Range
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  With ActiveSheet
    For Each rng In .Range("C1:C" & .Cells(.Rows.Count, 3).End(xlUp).Row)
      If rng.Hyperlinks.Count = 0 Or rng.Text Like "*series)" Then
        If rngDel Is Nothing Then
          Set rngDel = rng.EntireRow
        Else
          Set rngDel = Union(rngDel, rng.EntireRow)
        End If
      ElseIf rng.Hyperlinks.Count > 0 Then
        .Hyperlinks.Add Anchor:=rng.Offset(0, 3), _
          SubAddress:="", _
          Address:=rng.Hyperlinks(1).Address, _
          TextToDisplay:=rng.Hyperlinks(1).Address
      End If
    Next
    If Not rngDel Is Nothing Then rngDel.Delete
    .Range("C1").CurrentRegion.Sort Key1:=.Range("F1"), Order1:=xlAscending, Header:=xlGuess
  End With
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'christian'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul2"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
  Set rng = Nothing
  Set rngDel = Nothing
End Sub





« Gruß Sepp »



  

Betrifft: AW: Hyperlink auslesen, sortieren und Zeilen löschen von: Christian
Geschrieben am: 28.07.2012 15:45:40

Hallo Josef,

vielen Dank, scheiterte zuerst an verbundenen Zellen, mit denen sich ja nicht sortieren lässt, aber jetzt funktioniert es.

Gruß
Chris


Beiträge aus den Excel-Beispielen zum Thema "Hyperlink auslesen, sortieren und Zeilen löschen "