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

Code ändern

Code ändern
30.10.2006 10:45:44
otto
Hi,
wie kann man folgenden Code ändern dass nicht nur 3 Werte aus der gefundenen Zeile kopiert werden, sondern die ganze Zeile.
Zurück dann wieder genau so.
Ich brauche nicht unbedingt die Zeilennummer, in Spalte 27 von "Bestand" steht eine Identnummer die nur einmal vorkommt.
Habe es leider nicht selbst hinbekommen.

Private Sub CB_1_Click()
Dim i As Long, j As Long, zeile As Long
Application.ScreenUpdating = False
If Sheets("Übersicht").OLEObjects("CB_1").Object.Caption = "Suchen" Then
Dim SuchWert As String
SuchWert = Sheets("Übersicht").Cells(1, 2).Value
For i = 1 To Sheets("Bestand").Cells(65536, 1).End(xlUp).Row
If Sheets("Bestand").Cells(i, 1).Value Like SuchWert Then
Sheets("Übersicht").Cells(j + 5, 1).Value = Sheets("Bestand").Cells(i, 1).Row
Sheets("Übersicht").Cells(j + 5, 2).Value = Sheets("Bestand").Cells(i, 1).Value
Sheets("Übersicht").Cells(j + 5, 3).Value = Sheets("Bestand").Cells(i, 2).Value
Sheets("Übersicht").Cells(j + 5, 4).Value = Sheets("Bestand").Cells(i, 3).Value
j = j + 1
End If
Next i
If j > 0 Then Sheets("Übersicht").OLEObjects("CB_1").Object.Caption = "Übernehmen"
Else
For i = 10 To Sheets("Übersicht").Cells(65536, 1).End(xlUp).Row
zeile = Sheets("Übersicht").Cells(i, 1).Value
Sheets("Bestand").Cells(zeile, 1).Value = Sheets("Übersicht").Cells(i, 2)
Sheets("Bestand").Cells(zeile, 2).Value = Sheets("Übersicht").Cells(i, 3)
Sheets("Bestand").Cells(zeile, 3).Value = Sheets("Übersicht").Cells(i, 4)
j = j + 1
Next i
Sheets("Übersicht").Range("A5:D" & 10 + j).ClearContents
If j > 0 Then Sheets("Übersicht").OLEObjects("CB_1").Object.Caption = "Suchen"
End If
Application.ScreenUpdating = True
End Sub

Danke im Voraus.
otto

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

Betreff
Datum
Anwender
Anzeige
AW: Code ändern
30.10.2006 11:38:06
Daniel
Hallo
wenn du die ganze Zeile kopieren willst, geht das am einfachsten mit:
Sheets("Übersicht").rows(j + 5).Value = Sheets("Bestand").rows(i, 1).value
damit wird die Zeile i aus "Bestand" vollständig ohne Formate nach "Übersicht" Zeile j+5 übertragen.
Zurück dann natürlich genauso.
Die Spalten müssen dann natürlich in beiden Sheets genau übereinstimmen, die Spalte mit den Zeilen-Nr (Spalte A) in "Übersicht" musst du daher löschen.
Gruß, Daniel
AW: Code ändern
30.10.2006 12:41:33
otto
Hi,
Danke funktioniert super.
Wie bekomme ich es nun hin, dass auch die Formatierungen der übernommenen Zeile "mitgenommen" werden ?
otto
Anzeige
AW: Code ändern
30.10.2006 12:48:22
Daniel
Hallo
Sheets("Bestand").rows(i, 1).copy destination:=Sheets("Übersicht").rows(j + 5)
Gruß, Daniel
AW: Code ändern
30.10.2006 14:37:47
otto
Hi,
nochmals danke.
Den Rest habe ich mir zurechtgebastelt. Habe doch wieder eine Spalte mit den Zeilennummern eingefügt, oder hast du einen Code um die Zeilen nach der Nummer in Spalte 25 zurückzuschmeißen?
otto
AW: Code ändern
30.10.2006 14:59:20
Daniel
Sorry, verstehe ich nicht ganz.
Gruß, Daniel
AW: Code ändern
30.10.2006 15:20:20
otto
Hi,
ich suche z.B. alle Datensätze mit dem Kürzel BF3010-1.0122. In der Übersicht stehen dann z.B. 10 Datensätze.
Nun könnte ich die Datensätze nach der einmaligen Identnummer (z.B. 406030520) in Spalte 25 wieder in den Bestand zurückkopieren. dafür bräuchte ich den Code und könnte mir somit die Spalte mit den Zeilennummern schenken.
otto
Anzeige
AW: Code ändern
30.10.2006 15:56:31
Daniel
Hallo
falls du die Daten wieder zurückkopieren willst, kannst du die Zeilen-Nr, wo sie hingehören mit
folgendem code ermitteln und zurück-kopieren

For i = 1 to 10
Zeile = worksheetfunction.match(sheets("Übersicht").cells(i,25).value, sheets("Bestand").columns(25),0)
sheets("Übersicht").rows(i).copy destination:=sheets("Bestand").rows(Zeile)
next

worksheetfunction.match hat die gleiche Arbeitsweise wie die Excel-Funktion VERGLEICH
Allerdings frage ich mich, obs nicht einfacher wäre, den Autofilter zu setzten und dann die Daten gleich direkt im Bestand zu bearbeiten als Aufwendig hin- und her zu kopieren.
Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige