00202
Nicht registrierter Gast
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.
Registriert seit: 03.10.2018
Version(en): 2016
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  , 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
00202
Nicht registrierter Gast
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.
Registriert seit: 03.10.2018
Version(en): 2016
31.10.2018, 10:16
(Dieser Beitrag wurde zuletzt bearbeitet: 01.11.2018, 15:32 von WillWissen.
Bearbeitungsgrund: Codetags
)
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.
00202
Nicht registrierter Gast
Hallo, :19: dann so: Code: XZeile = Range(ListBox1.List(iCounter, 1)).Row XBlatt.Cells(XZeile, 48).Value = Date
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• Pirat2015
Registriert seit: 03.10.2018
Version(en): 2016
jetzt noch zum Thema keine doppelte Ausgabe von gleichen werten :19: :19:
00202
Nicht registrierter Gast
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:
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• Pirat2015
Registriert seit: 03.10.2018
Version(en): 2016
Registriert seit: 03.10.2018
Version(en): 2016
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?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
|