Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1072to1076
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

Problem mit VBA-Code

Problem mit VBA-Code
13.05.2009 17:09:49
JVLennox
Hallo allerseits,
ich bin bescheidener VBA-Anfänger und habe ein Problem mit einem selbstgebastelten Code - er tut nicht vollständig.
Was er tun soll ist, dass er in einer Tabelle in der Spalte B nach einer URL sucht. Findet er diese, soll die gesamte Zeile ausgeschnitten werden und in ein anderes Tabellenblatt kopiert werden. In dem neuen Tabellenblatt sollen die ganzen URL schön untereinander sein.
Leider klappt's nicht - kann mir dabei mal jemand helfen? Danke!
Folgenden Code habe ich:

Sub kopieren()
x = Cells(Rows.Count, 2).End(xlUp).Row
y = 2
For i = 1 To x
Dim a As Variant
a = 0
If Cells(i, 2) = "http://www.123-esistvorbei.com" _
Then
a = Rows(i)
Rows(i).Select
Selection.Delete Shift:=xlUp
Workbooks("Mappe1.xls").Sheets(3).Rows(y) = a
y = y + 1
End If
Next i
End Sub


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit VBA-Code
13.05.2009 17:40:24
dan
Hallo,
hier mein Vorschlag. Probiere es aus und sag Bescheid. Gruss dan, cz

Sub kopieren()
Dim x, y, i
x = Cells(Rows.Count, 2).End(xlUp).Row
y = 2
For i = 1 To x
Dim a As Variant
a = 0
If Cells(i, 2).Style.Name = "Hyperlink" Then
Rows(i).Cut (Worksheets(3).Cells(y, 1))
Rows(i).Delete xlShiftUp
'        a = Rows(i)
'            Rows(i).Select
'            Selection.Delete Shift:=xlUp
'        Workbooks("Mappe1.xls").Sheets(3).Rows(y) = a
y = y + 1
End If
Next i
End Sub


AW: Problem mit VBA-Code
14.05.2009 09:12:49
JVLennox
Hey Danke!
Leider fuktioniert der Code noch nicht richtig.
Muss aber gestehen, dass ich in meiner Beschreibung nicht ganz eindeutig war.
Immer wenn es eine BESTIMMTE URL ist, soll ausgeschnitten und ins andere Tabellenblatt kopiert werden. In der zweiten Spalte habe ich nämlich 2 unterschiedliche URLS, diese sollen getrennt werden.
Also nur alle Zeilen mit "http://www.123-esistvorbei.com" sollen ins nächste Blatt gebracht werden.
Gibt es dafür eine Idee?
DANKE!
Anzeige
AW: was funktioniert denn nicht ?...
14.05.2009 09:34:29
Chris
... ich habe den Code getestet und der funktionierte einwandfrei. Wo ist also dein Problem?
Gruß
Chris
AW: was funktioniert denn nicht ?...
14.05.2009 10:00:18
JVLennox
Naja, er kopiert bei mir ALLE Zeilen mit Hyperlinks, aber ich möchte ja nur die Zeilen mit einem BESTIMMTEN Hyperlink.
Ich habe es schon mit Wildcards *NameURL* oder
" If Cells(i, 2) = "http://www.name-der.url" Then "
probiert - er greift die Zeilen nicht ab, die die URL "http://www.123-esistvorbei.com" hat.
Chris, Danke für Deine Mühe!
AW: Problem mit VBA-Code
14.05.2009 09:56:21
dan
Hallo,
aha ich habe das falsch verstanden. Also nur Zeilen mir einer bestimmten URL:
Option Explicit
Public Const URL_1 As String = "http://www.123-esistvorbei.com"

Sub kopieren()
Dim x, y, i
x = Cells(Rows.Count, 2).End(xlUp).Row
y = 2
For i = 1 To x
Dim a As Variant
a = 0
' If Cells(i, 2).Style.Name = "Hyperlink" Then
If Cells(i, 2).Value = URL_1 Then
Rows(i).Cut (Worksheets(3).Cells(y, 1))
Rows(i).Delete xlShiftUp
'        a = Rows(i)
'            Rows(i).Select
'            Selection.Delete Shift:=xlUp
'        Workbooks("Mappe1.xls").Sheets(3).Rows(y) = a
y = y + 1
End If
Next i
End Sub


Anzeige
AW: Problem mit VBA-Code
14.05.2009 10:09:24
JVLennox
SUPER, Danke! Jetzt funzt es wie ne EINS!
Ich habe allerdings noch die Zeile
' Rows(i).Delete xlShiftUp
rausgenommen, da diese dazu führt, dass ja alle drunterliegenden Zeilen (n) auf n-1 hochgezogen werden, die Schleife macht aber auf n weiter, so dass man u.U. eine URL übersieht.
Das rauslöschen mache ich dann in einer zweiten Runde!
Grüße,
JVLennox
AW: Problem mit VBA-Code
14.05.2009 10:19:12
dan
Ja da hast Du Recht, aber man muss es nicht auf zweimal machen, sondern man sollte es von unten nach oben bearbeiten. So veraendert sich nur die aktuelle Zeile, aber die naechsten bleiben auf Position.
Die For-Schleife muesste dann so ausehen:
For i = x To 1 Step -1
' code hier ...
next i
Gruss dan, cz.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige