Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeile suchen und als Adresse nutzen
#1
Hi @ all

ich nutze einen Code um die Zeile mit dem Inhalt "Endstation" finden. Das klappt
Die Zelle ist bei C72 (deshalb suchen, da das je nach Liste variiert)
Nun will ich die Adresse und Zeilen Nummer für eine weitere Verarbeitung. Das klappt nicht. Es wird C462 als Ende deklariert.

Zur weiteren Info, ich nutze den Code in den Datenblättern und suche das meiste über die Option mit Hintergrundfarbe, da ich die Überschrift mit Hintergrundfarbe nutze und die Liste ohne.

Ich möchte wissen, warum bei mir nach der Endstation weitere Zellen ausgewählt werden. Danke für alle Hinweise



Code:
    If Target = "Alles zuklappen" Then
        Dim last, first As Range
        Dim start As String, ende As String

        With Sheets("Characters").Range("C:C")
            Set first = .Find("Beginn", LookIn:=xlValues)     '(liegt bei C4)
            Set last = .Find("Endstation", LookIn:=xlValues)  '(liegt bei C72)
                MsgBox first                                  '(gibt richtig "Beginn" wieder)
                MsgBox last                                   '(gibt richtig "Endstation" wieder)

            start = first.Offset(1, 0).Address(0, 0)
            start_zeile = first.Offset(1, 0).Row
                MsgBox start                                  '(gibt richtig "C5" wieder)
                MsgBox start_zeile                            '(gibt richtig "5" wieder)

            ende = last.Offset(-1, 0).Address(0, 0)
            ende_zeile = last.Offset(-1, 0).Row
                MsgBox ende                                   '(gibt falsch "C462" wieder, sollte "C71" sein)
                MsgBox ende_zeile                             '(gibt richtig "462" wieder, sollte "71" sein)
        End With
    End If
Antworten Top
#2
Hallo,

warum stellst du die Datei nicht ein? Nur mit dem Quelltext lässt sich so etwas nur schwer analysieren.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
=SVERWEIS("Suchbegriff";C:C;1) ergibt Dir den Inhalt (bzw. den davor, falls sortiert)

=VERGLEICH("Suchbegriff";C:C) ergibt Dir die gesuchte Zeile
Antworten Top
#4
Hallo

ich habe den Code aus Neugier mal in einer Tabelle durchlaufen lassen, das Ergebnis ist einwandfrei C4 und C72.
Frage, kann es sein das der Text in C72 falsch geschrieben ist und dahinter noch mal der Text "Endstation" kommt??
Excel macht normalerweise keine Fehler, sondern wir als User.  Ohne die Datei zu sehen ist das aber "heiterres Ratespiel!"

mfg Gast 123
Antworten Top
#5
Hi @ all

Ich bin doch dumm wie Stroh  16 16
Manchmal sitzt man echt zu lange am Coden und sieht vor lauter Sonne den Regen nicht mehr  Undecided 20 20

Danke an alle die sich die Zeit genommen habe



@Klaus-Dieter
  • Danke, aber es sind in der Original Datei sensible Daten. Und 30 Datenblätter mit Listen und Code muss ich nicht extra posten um den Fehler in einer Sequenz zu finden. Bzw andere für mich gefunden haben  Blush
@LCohen
  • Danke, aber wie ich in Zellen nach etwas suche, weiß ich bereits, war auch nicht meine Frage  
@Gast 123
  • Danke, ich habe den Fehler gefunden. Dein Ansatz hat mich auf die Idee gebracht.
    Liste 1 und 2 sind identisch bis auf die Menge des Inhaltes. Also Copy Paste mit den Tabellen und statt ActiveSheet zu nutzen hatte ich in Liste 1 den Sheet Namen genommen.
    Da beide gleich sind kam kein Fehler, aber Liste 1 ist eben bis 462 lang und daher habe ich in Liste 2 das Ende von Liste 1 angesprochen.
    Hätte es selber einfach in einer neuen reinen Datei probieren sollen, dann wäre mir das aufgefallen, bevor ich so einen peinlichen Fehler öffentlich poste  Idea

Thema erledigt
Antworten Top
#6
Hallo,


Zitat:@Klaus-Dieter
  • Danke, aber es sind in der Original Datei sensible Daten. Und 30 Datenblätter mit Listen und Code muss ich nicht extra posten um den Fehler in einer Sequenz zu finden. Bzw andere für mich gefunden haben 

natürlich kann man versuchen, anhand eines Quelltextes Fehler zu finden. Leichter geht das aber, wenn man das Umfeld kennt, denn meine Erfahrung sagt mir, dass sehr häufig der Fehler in der Datenbasis zu finden ist. 30 Datenblätter mit Quelltexten deuten auch in diese Richtung.  Sensible Daten kann man soweit verfälschen, dass sie das nicht mehr sind.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste