Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
372to376
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
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suche und Zeilen kopieren

Suche und Zeilen kopieren
03.02.2004 13:41:13
Tobster
Hallo Zusammen,
mein Code sieht folgendermaßen aus:
Public

Sub suche()
Dim varBereich As Range
Dim varSuchstring As Variant
Dim varZelleninhalt As Variant
Dim intBlatt As Integer
Dim lngZielzeile As Long
Dim varBlattname As Variant
Dim lngZeile As Long
Dim strTabName As String
Dim intFirst As Integer
Dim zelle As Range
Set varBereich = Application.InputBox("Bitte markieren Sie den zu durchsuchenden Bereich:", _
Type:=8)
varSuchstring = InputBox("Nach welchem Begriff soll gesucht werden:")
intBlatt = 0
lngZielzeile = 1
intFirst = 0
strTabName = ActiveSheet.Name
For Each zelle In varBereich
If intFirst = 0 Then lngZeile = Right(zelle.Address, 1) Else lngZeile = lngZeile + 1
intFirst = 1
If IsEmpty(zelle) Then GoTo weiter
If Not InStr(zelle.Value, varSuchstring) < 1 Then
If intBlatt = 0 Then
varBlattname = (Sheets.Count + 1)
Set neuesBlatt = Sheets.Add(Type:=xlWorksheet)
neuesBlatt.Name = varBlattname
intBlatt = 1
zelle.EntireRow.Copy Worksheets(varBlattname).Rows(lngZielzeile)
lngZielzeile = lngZielzeile + 1
Else
zelle.EntireRow.Copy Worksheets(varBlattname).Rows(lngZielzeile)
lngZielzeile = lngZielzeile + 1
End If
End If
weiter:
Next zelle
End Sub

Es funktioniert auch alles soweit, aber nachdem das neue Tabellenblatt angelegt wurde, steht nix drin, obwohl es so sein sollte. Woran könnte das liegen?
Gruß
Tobi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche und Zeilen kopieren
06.02.2004 00:02:40
Dieter Klemke
Hallo Tobi,
du sprichst das neu eingefügte Blatt nicht korrekt an.
Das Blatt wird z.B. am Anfang eingefügt und erhält den Namen "3". Deine kopierte Zeile geht aber in das 3. Tabellenblatt.
Im folgenden Code habe ich das korrigiert:

Sub suche()
Dim neuesBlatt As Worksheet
Dim varBereich As Range
Dim varSuchstring As Variant
Dim varZelleninhalt As Variant
Dim intBlatt As Integer
Dim lngZielzeile As Long
Dim varBlattname As Variant
Dim lngZeile As Long
Dim strTabName As String
Dim intFirst As Integer
Dim zelle As Range
Set varBereich = Application.InputBox("Bitte markieren Sie den zu durchsuchenden Bereich:", _
Type:=8)
varSuchstring = InputBox("Nach welchem Begriff soll gesucht werden:")
intBlatt = 0
lngZielzeile = 1
intFirst = 0
strTabName = ActiveSheet.Name
For Each zelle In varBereich
If intFirst = 0 Then lngZeile = Right(zelle.Address, 1) Else lngZeile = lngZeile + 1
intFirst = 1
If IsEmpty(zelle) Then GoTo weiter
If Not InStr(zelle.Value, varSuchstring) < 1 Then
If intBlatt = 0 Then
varBlattname = (Sheets.Count + 1)
Set neuesBlatt = Sheets.Add(Type:=xlWorksheet)
neuesBlatt.Name = varBlattname
intBlatt = 1
zelle.EntireRow.Copy neuesBlatt.Rows(lngZielzeile)
lngZielzeile = lngZielzeile + 1
Else
zelle.EntireRow.Copy Worksheets(varBlattname).Rows(lngZielzeile)
lngZielzeile = lngZielzeile + 1
End If
End If
weiter:
Next zelle
End Sub

MfG
Dieter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige