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

Datum suchen

Datum suchen
21.02.2008 21:25:00
Dieter.G
Hallo zusammen,
in Tabelle1 ab Zeile E21 abwärts steht das Datum 01. Januar 2008 bis 31. Dezember 2008.
in Tabelle2 Zelle D5 steht ein beliebiges Datum z.B. 21. Februar 2008.
Jetzt soll mit einem Makro das Datum von Tabelle2 D5 in Tabelle1 gefunden und die Zelle aktiviert werden!
Datumsformat: TT. MMMM JJJJ
Danke für die Hilfe
Gruß Dieter

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum suchen
21.02.2008 21:29:21
Josef
Hallo Dieter,
hier eine Lösung ohne VBA.
Tabelle2

 CDEF
3    
4    
5 17.03.2008Go! 
6    
7    

Formeln der Tabelle
ZelleFormel
E5=HYPERLINK("#Tabelle1!A" & VERGLEICH(D5;Tabelle1!A:A;0); "Go!")
Excel Tabellen im Web darstellen  Excel Jeanie HTML

Gruß Sepp



Anzeige
AW: Datum suchen
21.02.2008 21:49:30
Dieter.G
Hallo Sepp,
danke für die schnelle Antwort, ich bräuchte trotzdem eine Lösung per VBA, da nachdem die Zelle mit dem Datum aktiviert wurde, rechts davon in verschiedenen Zellen noch einige Daten eingetragen werden sollen.
Gruß Dieter

AW: Datum suchen
21.02.2008 21:56:00
Josef
Hallo Dieter,
um Daten einzutragen braucht man die Zelle aber nicht aktivieren.
Sub DatumFinden()
Dim rng As Range

Set rng = Sheets("Tabelle1").Range("E21:E286").Find( _
    what:=Sheets("Tabelle2").Range("D5"), _
    LookAt:=xlWhole)

If Not rng Is Nothing Then
    rng.Offset(0, 1) = "Hallo"
End If

Set rng = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Datum suchen
21.02.2008 22:40:18
Dieter.G
Hallo Sepp,
ohne aktivierte Zelle in Tabelle1 funktioniert mein Projekt leider nicht, da ich die Daten aus einer anderen Arbeitsmappe kopieren und in Tabelle1 neben dem gesucheten Datum wieder einfügen muß.
Ich muß also mehrmals zwischen beiden Arbeitsmappen hin und her springen.
Vielleicht hast du ja noch eine andere Idee!?
Gruß Dieter

AW: Datum suchen
21.02.2008 22:45:17
Renee
Hi Dieter,
Vergiss das aktivieren und das hin- und herspringen.
Sag uns welche Daten von wo nach wo müssen!
GreetZ Renée

AW: Datum suchen
21.02.2008 23:06:00
Dieter.G
Hi Renée,
es sind mehr als 20 Daten die kopiert werden sollen, deshalb hier nur ein Paar davon.
Die Mappe in der das Datum gesucht werden soll hat den Namen Mappe1.
Die Mappe aus der die Daten kopiert werden sollen hat den Namen Mappe2.
Die Daten in Mappe2 Tabelle2 stehen in den Zellen E10, E11, E12, G10, G11, G12, I10, I11, I12, diese Daten sollen jetzt in Mappe1 Tabelle1 rechts neben dem Datum erscheinen.
Mappe1 ist geschlossen und muß voher noch per Makro geöffnet werden!!
Gruß Dieter

Anzeige
AW: Datum suchen
21.02.2008 23:22:00
Josef
Hallo Dieter,
ohne "Hüpfen" und ohne Öffnen.
Sub DatumFinden()
Dim rng As Range
Dim strDatei As String, strTabelle As String, strF As String
Dim arrRange As Variant
Dim n As Integer

strDatei = "F:\Office\Excel\Beispiele\Ampel extern\daten.xls" 'Name der Datei mit den Daten - Anpassen!
strTabelle = "Tabelle1" 'Name der Tabelle mit den Daten - Anpassen!

arrRange = Array("E10", "E11", "E12", "G10", "G11", "G12", "I10", "I11", "I12") 'Zelladressen - Anpassen!

strF = "='" & Mid(strDatei, 1, InStrRev(strDatei, "\")) & "[" & _
    Mid(strDatei, InStrRev(strDatei, "\") + 1) & "]" & strTabelle & "'!"

Set rng = Sheets("Tabelle1").Range("E21:E286").Find( _
    what:=Sheets("Tabelle2").Range("D5"), _
    LookAt:=xlWhole)

If Not rng Is Nothing Then
    For n = 0 To UBound(arrRange)
        rng.Offset(0, n + 1).Formula = strF & arrRange(n)
        rng.Offset(0, n + 1) = rng.Offset(0, n + 1).Value
    Next
End If

Set rng = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Datum suchen
21.02.2008 23:40:00
Dieter.G
Hallo Sepp,
Jetzt klappts - Danke
Gruß Dieter

AW: Datum suchen
22.02.2008 00:10:00
Dieter.G
Hallo Sepp,
sorry, ein kleines Problem hab ich jetzt doch noch, da ich nicht hin und her kopieren kann steht das Datum nicht in Mappe1 Tabelle2 D5 sondern in Mappe2 Tabelle2 D5!
Sorry noch mal und Danke für Deine Geduld
Gruß Dieter

AW: Datum suchen
23.02.2008 13:18:30
Josef
Hallo Dieter,
dann sollte es so laufen.
Sub DatumFinden()
Dim rng As Range
Dim strDatei As String, strTabDaten As String, strTabDatum As String
Dim strF As String, strD As String, strDatum As String
Dim arrRange As Variant
Dim n As Integer, dDate As Date

strDatei = "F:\temp\test.xls" 'Name der Datei mit den Daten - Anpassen!
strTabDaten = "Tabelle1" 'Name der Tabelle mit den Daten - Anpassen!
strTabDatum = "Tabelle2" 'Name der Tabelle mit dem gesuchten Datum - Anpassen!
strDatum = "D5" 'Zelle mit dem gesuchten Datum - Anpassen!

arrRange = Array("E10", "E11", "E12", "G10", "G11", "G12", "I10", "I11", "I12") 'Zelladressen - Anpassen!



strF = "='" & Mid(strDatei, 1, InStrRev(strDatei, "\")) & "[" & _
    Mid(strDatei, InStrRev(strDatei, "\") + 1) & "]" & strTabDaten & "'!"

strD = "='" & Mid(strDatei, 1, InStrRev(strDatei, "\")) & "[" & _
    Mid(strDatei, InStrRev(strDatei, "\") + 1) & "]" & strTabDatum & "'!" & strDatum

Set rng = Sheets("Tabelle1").Cells.SpecialCells(xlCellTypeBlanks).Cells(1, 1)

rng.Formula = strD
dDate = rng.Value
rng.Clear
Set rng = Nothing

Set rng = Sheets("Tabelle1").Range("E21:E286").Find( _
    what:=dDate, _
    LookAt:=xlWhole, LookIn:=xlValues)

If Not rng Is Nothing Then
    For n = 0 To UBound(arrRange)
        rng.Offset(0, n + 1).Formula = strF & arrRange(n)
        rng.Offset(0, n + 1) = rng.Offset(0, n + 1).Value
    Next
End If

Set rng = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Datum suchen
23.02.2008 15:58:22
Dieter.G
Hallo Sepp,
das Makro muss aus (Mappe2 mit den Daten in Tabelle2) gestartet werden!
Es funktioniert aber "nur" dann, wenn (Mappe1 wo die Daten in Tabelle1 eingefügt werden sollen)
>> geöffnet und aktiv Wenn ich das Makro aus Mappe2 starte und Mappe1 geschlossen ist, erscheint die Fehlermeldung:
'Laufzeitfehler 1004: Keine Zellen gefunden.
Gruß Dieter

Verständnisfrage
23.02.2008 16:29:21
Josef
Hallo Dieter,
noch mal von Vorne.
Das Makro liegt in der Datei mit den Daten in Zelle E21 bis E286. Ist das Richtig?
Diese Datei ist geöffnet. Ist das richtig?
Nennen wir diese Datei Mappe1.
Das gesuchte Datum steht in Mappe zwei in Tabelle2, Zelle D5, diese Datei ist geschlossen. Ist das richtig?
In dieser Datei stehen in Tabelle1 die Daten die nach Mappe1 übertragen werden sollen. Ist das richtig?
Diese Datei ist geschlossen. Ist das richtig

Gruß Sepp



Anzeige
AW: Verständnisfrage
23.02.2008 16:49:40
Dieter.G
Hallo Sepp,
Mappe1 ist richtig, die Mappe solllte wenn möglich geschlossen bleiben.
In Mappe1 Tabelle1 E21 bis E386 steht das Datum 01.01.2008 - 31.12.2008.
Rechts neben dem Datum sollten die Daten aus der geöffneten Mappe2 Tabelle2 wo die Daten in den Zellen E10, E11, E12, G10, G11, G12, I10, I11, I12 und das gesuchte Datum in Zelle D5 steht eingetragen werden.
Das Makro muss aus Tabelle2 gestartet werden!
Gruß Dieter

AW: Verständnisfrage
23.02.2008 17:17:07
Josef
Hallo Dieter,
in eine geschlossene Datei kann man keine Daten schreiben.
Probier mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub DatenEintragen()
Dim objWB As Workbook
Dim strFile As String
Dim rng As Range
Dim arrRange As Variant
Dim n As Integer

strFile = "F:\Temp\test2.xls" 'Datei in die die Daten eingetragen werden - Anpassen!

arrRange = Array("E10", "E11", "E12", "G10", "G11", "G12", "I10", "I11", "I12") 'Zelladressen - Anpassen!

On Error GoTo ErrExit
GMS

Set objWB = Workbooks.Open(strFile)

Set rng = objWB.Sheets("Tabelle1").Range("E21:E286").Find(ThisWorkbook. _
    Sheets("Tabelle2").Range("D5"), LookAt:=xlWhole)

If Not rng Is Nothing Then
    For n = 0 To UBound(arrRange)
        rng.Offset(0, n + 1) = ThisWorkbook.Sheets("Tabelle2").Range(arrRange(n)).Value
    Next
End If

objWB.Close True
ErrExit:
GMS True
If Err.Number > 0 Then
    Err.Raise Err.Number, Err.Source, Err.Description
End If
Set objWB = Nothing
End Sub

Sub GMS(Optional ByVal Modus As Boolean = False)
Static lngCalc As Long

With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    If Modus Then
        .Calculation = IIf(lngCalc <> 0, lngCalc, xlCalculationAutomatic)
    Else
        lngCalc = .Calculation
        .Calculation = xlCalculationManual
    End If
    .Cursor = IIf(Modus, -4143, 2)
    .CutCopyMode = False
End With

End Sub


Gruß Sepp



Anzeige
AW: Verständnisfrage
23.02.2008 17:53:41
Dieter.G
Hallo Sepp,
jetzt fuktionierts.
Danke
Gruß Dieter

AW: Verständnisfrage
23.02.2008 17:53:00
Dieter.G
Hallo Sepp,
jetzt fuktionierts.
Danke
Gruß Dieter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige