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.

Suchfeld mit Textfenster in eine Dynamische Tabelle erstellen
#21
Hallo, :19:

das lässt sich einfach so lösen: :21:

1. Erstelle eine neue Datei mit nur einem Tabellenblatt.
2. Mache die Kopf- und Fußzeile wie du sie brauchst rein.
3. Speicher diese Datei ab.

Dann ändere diese Codezeile...


Code:
Set wkb2 = Workbooks.Add(1)

.. so ab:


Code:
Set wkb2 = Workbooks.Add("C:\Temp\Kopf.xlsb")

Siehe hier...

Pfad- und Dateiname natürlich anpassen.

Schon hast Du die Daten in einem Sheet mit Kopf- und Fußzeile.
________
Servus
Case
Antworten Top
#22
Hallo Case,

perfect alles funktioniert super, danke dir.

Kann ich eigentlich, beim Ausgabe der Daten in eine neu Tabelle, in der Uhrsprungstabelle, in einer bestimmte Zeile, das Ausgabedatum vermerken?
Und Letze Frage Angel , kann ich so einprogrammieren, daß wenn der gesuchte wert in eine Zeile gefunden wurde, dass diese Wert nicht mehr in anderen Zeilen mehr berücksichtigt wird?

Schon mal Besten Dank
Antworten Top
#23
Hallo, :19:

um Das Datum in eine Zelle zu schreiben:
Code:
Range("E5").Value = Date

Mit Uhrzeit:
Code:
Range("E5").Value = Now

"E5" musst Du noch anpassen. Und du musst/solltest das Tabellenblatt davor schreiben, um eine korrekte Referenzierung zu erreichen.

Dein weiteres Anliegen habe ich nicht verstanden, da musst du etwas ausführlicher werden.
________
Servus
Case
Antworten Top
#24
Das Problem ist, ich bekomme die Daten über die Listbox angezeigt und die Daten die ich dann ausgebe, sollen in der Ursprungstabelle in Bestimmte Zeile "AV", das Ausgabe Datum bekommen.

Hier der Code für Suchergebnisse anzeigen:


Code:
Private Sub CommandButton1_Click()
Dim xSuche, xAdresse, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim rng As Range
Dim iCounter, iRowU As Integer
ListBox1.Clear
xSuche = TextBox1.Value
If xSuche = "" Then
    MsgBox "Bitte erst einen Suchbegriff eingeben!", vbExclamation, "Achtung!"
    Exit Sub
End If
If ComboBox1.Value = "" And CheckBox2.Value = False Then
    MsgBox "Bitte geben Sie ein, wo der Begriff gesucht werden soll!", vbExclamation, "Achtung!"
    Exit Sub
End If
For iCounter = 1 To ThisWorkbook.Sheets.Count
    If CheckBox2.Value = True Or Worksheets(iCounter).Name = ComboBox1.Value Then
        Set rng = Worksheets(iCounter).Cells.Find _
            (xSuche, lookat:=Suchart, LookIn:=xlValues)
        If Not rng Is Nothing Then
            With Worksheets(iCounter)
                xErste = rng.Address(False, False)
                y = True
                Do Until xAdresse = xErste
                    ReDim Preserve arr(0 To 50, 0 To iRowU)
                    arr(0, iRowU) = .Name
                    arr(1, iRowU) = rng.Address(False, False)
                    arr(2, iRowU) = .Cells(rng.Row, 4)
                    arr(3, iRowU) = .Cells(rng.Row, 8)
                    arr(4, iRowU) = .Cells(rng.Row, 11)
                    arr(5, iRowU) = .Cells(rng.Row, 18)
                    arr(6, iRowU) = .Cells(rng.Row, 19)
                    arr(7, iRowU) = .Cells(rng.Row, 20)
                    arr(8, iRowU) = .Cells(rng.Row, 44)
                    arr(9, iRowU) = .Cells(rng.Row, 45)
                    arr(10, iRowU) = .Cells(rng.Row, 46)
                    arr(11, iRowU) = .Cells(rng.Row, 47)
                    arr(12, iRowU) = .Cells(rng.Row, 48)
                    arr(13, iRowU) = .Cells(rng.Row, 49)
                    iRowU = iRowU + 1
                    Set rng = .Cells.FindNext(after:=rng)
                    xAdresse = rng.Address(False, False)
                Loop
                xAdresse = ""
                xErste = ""
            End With
        End If
    End If
Next iCounter
If y = False Then
    MsgBox "Der Suchbegriff wurde nicht gefunden!"
Else
    ListBox1.Column = arr
End If
End Sub


Hier der Code für Daten Ausgabe:


Code:
Private Sub CommandButton3_Click()

Dim iCounter, xCounter As Long
Set wkb1 = ThisWorkbook
Set wks2 = wkb2.Sheets(1)
wkb1.Activate
For iCounter = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(iCounter) And xOpt = 1 Or xOpt = 2 Then
        Set XBlatt = Sheets(ListBox1.List(iCounter, 0))
        XZeile = Range(ListBox1.List(iCounter, 1)).Row
        xCounter = xCounter + 1
        XBlatt.Range("AT" & XZeile & ",G" & XZeile & ",H" & XZeile & ",K" & XZeile & ",R" & XZeile & ",S" & XZeile & ",T" & XZeile & ",AJ" & XZeile & ",AK" & XZeile & ",AL" & XZeile & "").Copy wks2.Cells(xCounter, 1)
    End If
Next iCounter
wks2.Activate
End Sub

Jetzt will ich, das bei den Daten, welche ich in neue Tabelle ausgebe, automatisch das Ausgabe Datum in der Tabelle erstellt wir aus welche ich die Daten ausgebe und zwar in Spalte AV.

Zum Zweiten Anliegen: Ich will das wenn der wert in eine Zeile gefunden wurde, dass dieser wert nicht mehr in andern Zeilen berücksichtig wird:
Bsp: in Spalte 16 --> steht in Zeile A, B, C, D das gleich zum Beispiel "A" --> momentan wenn ich jetzt nach A suchen würde bekomme ich 4 Ergebnisse, ich will aber nur einen Ergebnis sehen.
Antworten Top
#25
Hallo, :19:

dann so:


Code:
XZeile = Range(ListBox1.List(iCounter, 1)).Row
XBlatt.Cells(XZeile, 48).Value = Date
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Pirat2015
Antworten Top
#26
jetzt noch zum Thema keine doppelte Ausgabe von gleichen werten :19: :19:
Antworten Top
#27
Hallo, :19:

da es hier zu viele Fallstricke gibt, solltest du das mal an Hand einer Beispieldatei darlegen. Es sollte in der Datei klar erkenntlich sein, was du als doppelte Ausgabe ansiehst. :21:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Pirat2015
Antworten Top
#28
OK, werde ich erstellen.
Antworten Top
#29
Hallo Case,

hier ein Bsp zu meinen Problem:

[
Bild bitte so als Datei hochladen: Klick mich!


wie du Siehst in Spalte 1 in Zeile A ist z.b "P1B1V1" in einen Wert vorhanden, auch in Zeile B ist auch "P1B1V1" vorhanden.
Wenn ich jetzt über Markro z.B. nach P1B1V1 suche bekomme ich als Ergebnis zwei Sachen angezeigt, weil er diesen Begriff in zwei Zeilen findet in Wirklichkeit müsste nur ein Ergebnis kommen.

Ich möchte es so machen, daß wenn in eine Zeile die Zeichenreinfolge gefunden wurde, das es in der anderen Zeilen nicht mehr berücksichtigt wird.
D.h. er soll quer suchen, er soll eine Zeilenlänge als geschlossene Einheit sehen also

In Zeile 1 und in Spalte X, wurde der Begriff P1B1V1 gefunden, dann nicht mehr in Zeile 1 in anderen Spalten suchen.
Und das dann für alle Zeilen

Geht das?
Antworten Top
#30
Hallöchen,

Du gehst in einer Schleife über alle Zeilen und suchst jeweils von vorn:

Option Explicit

Sub Makro1()
Dim iCnt%, gefunden
For iCnt = 1 To 4
  Set gefunden = Rows(iCnt).Find(What:="A", After:=Rows(iCnt).Cells(1, 1), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
  If Not gefunden Is Nothing Then MsgBox gefunden.Column
Next
End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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