Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Nur 2 Zellen kopieren, nicht ganze Zeile
01.02.2013 09:10:47
Alex
Guten Morgen!
Bei meinem Code wird ein über InputBox abzufragender Wert in einer Tabelle gesucht und die FundZEILE in ein neues Tabellenblatt kopiert.
Ich will aber dass nur die Fundzelle in das neue Tabellenblatt kopiert wird, wie geht das?
Zusätzlich sollte noch die dazugehörige Zelle (ebenfalls aus der Fundzeile) aus Spalte B mitkopiert werden. ---> es soll also die gefundene Zelle + Zelle(Fundzeile, Spalte B) in das nächste Tabellenblatt kopiert werden
Könnt ihr mir da helfen?
Danke schonmal !
----------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim rng As Range
Dim rngSource As Range
Dim rngStart As Range
Dim varInput As Variant
Dim iRow As Integer
varInput = InputBox( _
prompt:="Bitte S-Nummer eingeben:", _
Title:="Suche")
If varInput = False Then Exit Sub
Set rng = ActiveSheet.Columns("A:T").Find( _
What:=varInput, LookAt:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox "S-Nummer nicht gefunden!"
Exit Sub
End If
Set rngStart = rng
Set rngSource = rng.EntireRow
Do
Set rng = Cells.FindNext(After:=rng)
If rng.Address = rngStart.Address Then Exit Do
Set rngSource = Union(rngSource, rng.EntireRow)
Loop
With Worksheets("Tabelle4")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
rngSource.Copy .Cells(iRow, 1)
.Columns.AutoFit
End With
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur 2 Zellen kopieren, nicht ganze Zeile
01.02.2013 10:05:04
haw
Hallo Alex,
ungetestet:
Private Sub CommandButton1_Click()
Dim rng As Range
Dim rngSource As Range
Dim rngStart As Range
Dim varInput As Variant
Dim iRow As Integer
varInput = InputBox( _
prompt:="Bitte S-Nummer eingeben:", _
Title:="Suche")
If varInput = False Then Exit Sub
Set rng = ActiveSheet.Columns("A:T").Find( _
What:=varInput, LookAt:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox "S-Nummer nicht gefunden!"
Exit Sub
End If
Set rngStart = rng
Set rngSource = rng.Offset(0, 1)
Do
Set rng = Cells.FindNext(After:=rng)
If rng.Address = rngStart.Address Then Exit Do
Set rngSource = Union(rngSource, rng.Offset(0, 1))
Loop
With Worksheets("Tabelle4")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
rngSource.Copy .Cells(iRow, 1)
.Columns.AutoFit
End With
End Sub

Gruß
Heinz

Anzeige
FEHLERMELDUNG?!?!
01.02.2013 10:28:00
Alex
Bei der 4. letzten Zeile bringt er mir ne Fehlermeldung.
also hier stimmt irgendwas nicht:
rngSource.Copy .Cells(iRow, 1)
I need HELP

FEHLERMELDUNG?!?!
01.02.2013 10:28:37
Alex
Bei der 4. letzten Zeile bringt er mir ne Fehlermeldung.
also hier stimmt irgendwas nicht:
rngSource.Copy .Cells(iRow, 1)
I need HELP

AW: Nur 2 Zellen kopieren, nicht ganze Zeile
01.02.2013 10:13:20
Wolli
Moin Moin,
Du schreibst: Nur die Fundzelle. Gesucht wird in Spalte A bis T (ActiveSheet.Columns("A:T")), also kann auch in A bis T gefunden werden. Wenn nur in A gesucht werden soll, solltest Du das vielleicht auch anpassen (ActiveSheet.Columns("A"))
Um dann aus der Ergebniszeile die Zellen von Sp. A und B zu kopieren machst Du
statt
Set rngSource = Union(rngSource, rng.EntireRow)
schreibst Du
Set rngSource = range(cells(rng.row, 1), cells(rng.row, 2))
Die Zeile "Set rngSource = rng.EntireRow" kann dann ersatzlos entfallen.
Ungetestet - Gutes Gelingen!
Wolli

Anzeige
Weitere Schilderung, Bitte um Hilfe
01.02.2013 10:35:47
Alex
Das war nur eine beliebige Angabe.
die richtige Tabelle geht von (C4 bis AMP459), ist also riesig.
Und in der soll gesucht werden, jedochsoll eben immer nur die fundzelle mit der bezeichnung aus der spalte B kopiert werden
Hier zur Veranschaulichung ein Screenshot der Tabelle:
--- es wird nach dem EX-PROJEKT gesucht also z.B. S-171 oder S-200
--- Bezeichnung wie z.B. Elektromotoren oder Getriebegehäuse soll mitkopiert werden
Userbild

AW: Keine Loesung, aber..
01.02.2013 12:50:49
hary
Moin
.... Crosspost(MOF) und die verbundenen Zellen, machen wohl Probleme.
gruss hary

Anzeige
.Columns("A") ist Wildwest-VBA, ...
01.02.2013 16:24:17
Luc:-?
…Wolli,
regulär schreibt man .Columns(1)!
Gruß Luc :-?

AW: .Columns("A") ist Wildwest-VBA, ...
01.02.2013 21:01:10
Wolli
Jawohl, Meister des schönen Codes ;-) Wollte doch nur minimalen Schaden im vorhandenen Code anrichten ...
Gruß, Wolli

Da hätte ja auch Range stehen müssen! ;-> owT
01.02.2013 21:10:56
Luc:-?
:-?

CROSSPOST O-L owT
01.02.2013 14:34:54
Rudi

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige