Anzeige
Archiv - Navigation
280to284
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
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nummer in Zieldatei schon vorhanden?

Nummer in Zieldatei schon vorhanden?
19.07.2003 18:16:43
Franz W.
Hallo Forum,
mit folgendem Code von Hajo übertrage ich Daten von einer Datei in eine andere, wobei es sich bei ActiveCell um eine Nummer handelt (Der Button sitzt im aktiven Blatt der Datei "DatenKunden.xls"):

Sub Uebertragen()
Dim LoLetzte As Long
Windows("DatenKunden.xls").Activate
With Workbooks("RechnungenEH.xls").Worksheets("Offene")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
.Cells(LoLetzte, 1) = ActiveCell
.Cells(LoLetzte, 2) = ...
.Cells(LoLetzte, 3) = ...
End With
End Sub

Die Ursprungsdaten können sich ändern und sollen nun in die Zieldatei aktualisiert übertragen werden, ALSO DEN ALTEN EINTRAG ÜBERSCHREIBEN, KEINE NEUE ZEILE EINFÜGEN. Wie kann ich also abfragen, ob es die Nummer, die in der ActiveCell steht, in der Spalte A der Zieldatei schon mal gibt und in welcher Zeile, um diese Zeile dann überschreiben zu können? Ich weiß nicht so recht, wie ich anfangen soll...
Vielen Dank im Voraus
Grüße
Franz

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nummer in Zieldatei schon vorhanden?
19.07.2003 18:22:38
Hajo_Zi
Hallo Franz
benutze die Funktion Find

Sub Test()
'   erstellt von Hajo.Ziplies@web.de 12.04.03
Dim Found As Range
Dim LoLetzte As Long
Dim sSearch As String
sSearch = InputBox("Suchbegriff:", , "test")
If sSearch = "" Then Exit Sub
LoLetzte = 65536
If Range("C65536") = "" Then LoLetzte = Range("C65536").End(xlUp).Row
Set Found = Range("C1:C" & LoLetzte).Find(sSearch, Range("C" & LoLetzte), , xlPart, , xlNext)
If Found Is Nothing Then Exit 

Sub  'falls nicht gefunden wird 

Sub verlassen
Range(Found.Address).Select
End Sub

Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
AW: Nummer in Zieldatei schon vorhanden?
19.07.2003 18:29:45
Franz W.
Hallo Hajo,
vielen Dank, da hast mir ja was zum Beißen gegeben :-))). Werd mich dranmachen, gib Dir dann wieder Bescheid.
Danke und Grüße
Franz

AW: Nummer in Zieldatei schon vorhanden?
19.07.2003 18:38:55
Hajo_Zi
Hallo Franz
hatest Du nicht angegeben VBA Kenntnisse.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
"Kaum VBA-Kenntnisse" ...
19.07.2003 18:53:55
Franz W.
Hallo Hajo,
... und das ist ja schon die niedrigste Stufe bei der Level-Auswahl. Aber ich beschwer mich ja gar nicht :-)! In Deinem Tipp sind ein paar für mich neue Sachen drin, und da muss ich jetzt mal durch. Und falls ich's gar nicht kapier, erlaube ich mir evtl. noch mal nachzufragen.
Gruß
Franz

AW: "Kaum VBA-Kenntnisse" ...
19.07.2003 19:01:43
Hajo_Zi
Hallo Franz
ich schreibe zu selten neue Beiträge. Da habe ich Level wohl falsch gedeutet. Aber Frage nur weiter falls Du nicht klar kommst.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
Zwischenfrage
19.07.2003 21:01:35
Franz W.
Hallo Hajo,
ich komme langsam voran, ist noch nicht fertig, hab auch noch nicht alles aus Deinem Tipp integriert, kommt noch.
Stolpere nur gerade über ein merkwürdiges Phänomen mit find und da komm ich nicht weiter, folgender Code:

Sub Test()
'   erstellt von Hajo.Ziplies@web.de 12.04.03
Dim Found As Range
Dim LoLetzte As Long
Dim sSearch As String
sSearch = ActiveCell.Value
Workbooks("RechnungenEH.xls").Worksheets("Offene").Activate
With Workbooks("RechnungenEH.xls").Worksheets("Offene").Range("a2:a500")
Set Found = .Find(sSearch, , , xlPart)
If Not Found Is Nothing Then
Workbooks("RechnungenEH.xls").Worksheets("Offene").Range(Found.Address).Select
Else
MsgBox "Nicht gefunden"
End If
End With
End Sub

Er findet, aber nicht immer richtig:
ich suche nach dreistelligen Zahlen, Zellen in Ausgangsdatei als auch in der Datei in der ich suche sind gleich formatiert: benutzerdef. Format "000".
In Workbooks("RechnungenEH.xls").Worksheets("Offene").Range("a2:a500") steht nun z.B.:
023
017
013
022
002
012
001
003
Suche ich nach 001, selektiert er 017! Suche ich nach 002, selektiert er 022! Suche ich nach 003, selektiert er 013. Nehme ich allerdings die 013 raus und suche nach 003, wählt er 003 (und nicht das mit der obersten 3, also 023??)
Ändere ich xlPart auf xlWhole, dann findet er GAR NICHTS MEHR !!
Was bitte mach ich da falsch?
Gruß
Franz

Anzeige
AW: Zwischenfrage
19.07.2003 21:10:52
Hajo_Zi
Hallo Franz
aus meinem Archiv
Suche mit kompletten Vergleich
Selection.Find(What:="45", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, _ SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Activate
Der einzigste Fehler lag bei LookAt:=xlPart, dies muss LookAt:=xlWhole heißen !
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
Leider nicht...
19.07.2003 21:26:31
Franz W.
Hallo Hajo,
das ist es leider nicht. Siehe vorletzte Zeile meiner vorigen Frage:
Ändere ich xlPart auf xlWhole, dann findet er GAR NICHTS MEHR !!
Setze ich den ganzen Vergleich ein, wie Du vorschlägst, dann bringt er die MEldung:
Die Find-Eigenschaft des Range-Objektes kann nicht zugeordnet werden.
So langsam komm ich an meine Grenzen *stöhn*
Gruß
Franz

Ich hab's...
19.07.2003 23:04:31
Franz W.
Hallo Hajo,
wenn ich das Format vorgebe, dann klappts:
sSearch = Format(ActiveCell, "000")
Und jetzt ist es auch egal ob's xlPart oder xlWhole heißt.
Danke und Grüße
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige