Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
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
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verknüpfung ändern mit "suche erst Zeile"-Idee

Verknüpfung ändern mit "suche erst Zeile"-Idee
12.01.2006 16:16:43
Fabio
Hallo zusammen,
ich habe eine Datei, in die ich jeden Tag aufs neue Daten aus anderen Excel-Datein
importiere (sozusagen eine Zusammenfassungs-Datei).
Jeden morgen kopiere ich die letze Zeile, ändere per Suchen/Ersetzen das Datum und
ich habe die neuen Werte in der Zeile stehen. Funktioniert auch richtig.
Jetzt kommt aber das Problem :
Ein zu importierender Wert steht mal in der Zeile "I31", an einem anderen Tag in dem Feld "I38"
wieder an einem anderen Tag in dem Feld "I40" (etc.etc.) (das hängt davon ab, wieviele andere Daten
da sind, die ich aber nicht brauche.
Also muss ich das eine Feld jedesmal "manuell" suchen und eintragen.Es würde aber noch eine andere Möglichkeit geben,
weil der Text in der selben Zeile immer der selbe ist, d.h. kann man die nachfolgende Verknüpfung so ändern, das folgendes passiert :
='J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Statistik1!$I$31
-&gt Suche in der Datei [iv060111.xls]Statistik1
-&gt Die Zeile, in der in der Spalte "A" das Wort Tordifferenz steht
-&gt und nimm dann aus dieser Zeile den Wert in Spalte I (die Spalte bleibt immer gleich!)
Ist ein nicht wirklich lebensnotwendiges Problem - aber durchaus "lästig" - drum einfach die Frage ob hier jemand eine Lösung für mich hat.
Danke Fabio

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

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfung ändern mit "suche erst Zeile"-Idee
12.01.2006 17:11:06
Josef
Hallo Fabio!
Das sollte es tun.

=INDEX('J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$I:$I;VERGLEICH("Tordifferenz";'J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$A:$A;0);0)

'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
@Sepp - Danke und Änderung....
13.01.2006 08:54:19
Fabio
Hallo Sepp,
vielen Dank. Deine Lösung funktioniert (beide!). Nur stehe ich jetzt vor einem "anderen" Problem, das ich aber erst nach dem Testen Deiner Formel festgestellt habe.
Die Bezeichnung ist immer die selbe (Tordifferenz). Aber das Wort Tordifferenz gibt es 4 mal in der Spalte (A), d.h. Für die Erwachsenen, Jungend, Kinder etc.
Kann ich den "zu suchenden Bereich - also das $A:$A auch beschränken auf einen bestimmten Bereich ? - Konkret suche in der Spalte A in den Zeilen 29-40 nach dem Wort Tordifferenz... etc. ?
Danke
Fabio
(Einfach die Suchformel auf ....Tabelle1'!$A29:$A40;0);0 zu ändern führte leider nicht zu dem Erfolg.
Wenn das nicht geht, werde ich mal unserern Vereinschef anschreiben, ob der die Bezeichnung ändern kann, was dann ja der einfacherere Weg wäre.
Fabio
Anzeige
AW: @Sepp - Danke und Änderung....
13.01.2006 09:41:29
Josef
Hallo Fabio!
Das funktioniert schon! Du musst allerdings den Bereich beide male anpassen.
Also $I$29:$I$40 und $A$29:$A$40, dann läuft's!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

@Sepp..und noch ne Frage-aber wieder Danke
13.01.2006 10:54:44
Fabio
Hallo Sepp,
nun habe ich es so gemacht und es funktioniert. Ich will aber auch gerne "Verstehen" und noch was zu der Formel wissen :
Mit dem $A:$A in der Formel duchsucht er die Spalte A und nimmt dann die "ERSTE" Zeile, in der dieser Wert vorkommt.
Mit dem $A31:$A40 durchsucht er "nur" den angegebenen Bereich und nimmt dort dann die ERSTE Zeile in der der Wert gefunden wird.
(Jetzt ist mir auch klar, das ich den "Spalten" Wert anpassen muss (in dem Fall auf 31:40).
Nun die Frage : Wie müsste ich die Formel ändern, wenn ich wollte, das Excel die Spalte "A:A" nach dem "Tordifferenz" untersucht - aber von unten beginnt ? Weil - meine Jungend ist immer in der Tabelle an unterster Stelle.
Anders gefragt - $A:$A sucht immer von oben nach unten - kann ich das Ändern ? - sprich nimm den unterstens Wert aus der Spalte "I" wenn in Spalte A das erste mal von unten gezählt das Wort Tordifferenz kommt.
Hmmm...
Danke
Fabio
Anzeige
AW: @Sepp..und noch ne Frage-aber wieder Danke
13.01.2006 11:21:36
Josef
Hallo Fabio!
Das geht auch, aber diese Formel verträgt keine Ganzen Spalten, man muss den
Bereich also eingrenzen!

=VERWEIS(2;1/('J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$A1:$A100="Tordifferenz");'J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$I1:$I100)

Der Code dafür sieht so aus!
Public Sub NeueDaten()
Dim intCol As Integer
Dim lnglast As Long
Dim strDate As String

On Error GoTo NeueDaten_Error

With Sheets("Tabelle1") ' Tabellenname anpassen!
  
  intCol = 2 ' Spalte anpassen! (2=B, 3=C, ...)
  
  lnglast = .Cells(Rows.Count, intCol).End(xlUp).Row + 1
  If lnglast < 2 Then lnglast = 2
  
  strDate = "iv" & Format(Date, "yymmdd") & ".xls"
  
  .Cells(lnglast, intCol).Formula = "=LOOKUP(2,1/('J:\fussball\Statistiken\2006\Jugend\[" & strDate & _
    "]Tabelle1'!$A1:$A100=""Tordifferenz""),'J:\fussball\Statistiken\2006\Jugend\[" & strDate & _
    "]Tabelle1'!$I1:$I100)"
  
End With

On Error GoTo 0
Exit Sub

NeueDaten_Error:

MsgBox "Fehler:" & vbTab & Err.Number & " (" & Err.Description & ")" & _
  Space(45) & vbLf & vbLf & vbTab & "Prozedur:" & vbTab & vbTab & "NeueDaten" & _
  vbLf & vbTab & "Modul:" & vbTab & vbTab & "Modul1", vbExclamation, "Fehler"
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: @Sepp..die Formel mag er nicht...
16.01.2006 15:11:16
Fabio
Hallo Sepp,
ich gehe mal davon aus, das die Formel auch ohne den Code funktioniert. Ich habe jetzt die Formel kopiert und eingefügt...und es kommt eine Fehlermeldung (dem gefällt nicht, das da was in """ steht - das markert er zumindest an.
Also habe ich das ganze "versucht" über die Excel-Hilfe zu Lösung (Verweis einfügen) - das geht dann auch sehr gut...nur wieder das "alte" Problem - er soll ja "von unten" das suchen anfangen. Kannst Du mir bitte die Formel so ändern, das der im Bereich von "unten" anfängt ?
Und nochmals Danke dafür !
Fabio
~
=VERWEIS("Tordifferenz";'J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$A$9:$A$60;'J:\fussball\Statistiken\2006\Jugend\[iv060111.xls]Tabelle1'!$I9:$I60)
~
Anzeige
Du kannst das ganze auch ....
13.01.2006 00:53:39
Josef
Hallo Fabio!
... Weiter automatisieren!
Dieser Code trägt dir die Formel mit dem Bezug zur aktuellen Datei, in die erste
freie Zeile in Spalte "B" ein.
Den Tabellennamen und die Spalte musst du halt anpassen!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Sub NeueDaten()
Dim intCol As Integer
Dim lnglast As Long
Dim strDate As String

On Error GoTo NeueDaten_Error

With Sheets("Tabelle1") ' Tabellenname anpassen!
  
  intCol = 2 ' Spalte anpassen! (2=B, 3=C, ...)
  
  lnglast = .Cells(Rows.Count, intCol).End(xlUp).Row + 1
  If lnglast < 2 Then lnglast = 2
  
  strDate = "iv" & Format(Date, "yymmdd") & ".xls"
  
  .Cells(lnglast, intCol).Formula = "=INDEX('J:\fussball\Statistiken\2006\Jugend\[" _
    & strDate & _
    "]Tabelle1'!$I:$I,MATCH(""Tordifferenz"",'J:\fussball\Statistiken\2006\Jugend\[" _
    & strDate & "]Tabelle1'!$A:$A,0),0)"
  
End With

On Error GoTo 0
Exit Sub

NeueDaten_Error:

MsgBox "Fehler:" & vbTab & Err.Number & " (" & Err.Description & ")" & _
  Space(45) & vbLf & vbLf & vbTab & "Prozedur:" & vbTab & vbTab & "NeueDaten" _
  & vbLf & vbTab & "Modul:" & vbTab & vbTab & "Modul1", vbExclamation, "Fehler"
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige