Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Zellbereich in anderen Bereich kopieren

Zellbereich in anderen Bereich kopieren
Fritz_W
Hallo VBA-Experten,
ich würde gerne folgendes bewerkstelligen und bitte euch um Hilfe bei der Erstellung des Codes:
Das Makro sollte im Zellbereich I1:GF1 nach der Zelle suchen, die die gleiche Zahl enthält, die in Zelle GI1 steht. (Die Zahl, die in GI1 steht, kommt im geprüften Zellbereich I1:GF1 nur einmal vor!)
Ausgehend von der Spalte, in der die gesuchte Zahl gefunden wird, sollte der Inhalt (Wert) der Zellen des Zellbereichs dieser und der nächsten Spalte ab Zeile 3 bis Zeile 66 in den Bereich GI3:GJ66 kopiert werden.
Beispiel:
Ist die Zahl aus Zelle GI1 in der Zelle AC1 enthalten, sollte der Inhalt des Bereichs AC3:AD66 in GI3:GJ66 kopiert werden.
Steht die Zahl in Zelle AL1, dann soll der Inhalt des Bereichs AL3:AM66 in GI3:GJ66 kopiert werden.
Im Voraus besten Dank für eure Unterstützung.
Gruß
Fritz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Suchen und Bereich kopieren
15.05.2010 17:50:58
Erich
Hi Fritz,
mal 3 Varianten zum Testen:

Option Explicit
Sub SpezCop1()                               ' Zahl ist ganzer Zellinhalt
Dim varSp, lngSp As Long
varSp = Application.Match(Cells(1, 191), Range(Cells(1, 9), Cells(1, 188)), 0)
If IsNumeric(varSp) Then
lngSp = varSp + 8
Cells(3, 191).Resize(64, 2) = Cells(3, lngSp).Resize(64, 2).Value
End If
End Sub
Sub SpezCop2()                               ' Zahl ist ganzer Zellinhalt
Dim dblS As Double, arrS, cc As Long
dblS = Cells(1, 191)
arrS = Application.Transpose(Application.Transpose( _
Range(Cells(1, 9), Cells(1, 188))))
For cc = 1 To UBound(arrS)
If arrS(cc) = dblS Then
Cells(3, 191).Resize(64, 2) = Cells(3, cc + 8).Resize(64, 2).Value
Exit For
End If
Next cc
End Sub
Sub SpezCop3()                               ' Zahl ist Teil des Zellinhalts
Dim dblS As Double, arrS, cc As Long
dblS = Cells(1, 191)
arrS = Application.Transpose(Application.Transpose( _
Range(Cells(1, 9), Cells(1, 188))))
For cc = 1 To UBound(arrS)
If arrS(cc) Like "*" & dblS & "*" Then
Cells(3, 191).Resize(64, 2) = Cells(3, cc + 8).Resize(64, 2).Value
Exit For
End If
Next cc
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Schönes Wochenende!
Anzeige
AW: Suchen und Bereich kopieren
15.05.2010 18:04:31
Fritz_W
Hallo Erich,
getestet:
alle drei Vorschläge funktionieren wie gewünscht.
Einfach Klasse und ganz herzlichen Dank für die Hilfe.
Gruß
Fritz
AW: Zellbereich in anderen Bereich kopieren
15.05.2010 17:57:29
Gerd
Hallo Fritz,
ungetestet:
Sub kopieren_wenn_da()
If Application.CountIf(Range("I1:GF1"), Range("G1").Value) = 1 Then _
Range("GI3:GJ66").Value = Cells(3, Application.Match(Range("G1").Value, Range("I1:G1"), 0) + 8). _
Resize(66, 2).Value
End Sub
Gruß Gerd
AW: Zellbereich in anderen Bereich kopieren
15.05.2010 18:07:36
Fritz_W
Hallo Gerd,
Dein Code funktioniert ebenfalls wie gewünscht.
Auch Dir ganz herzlichen Dank.
Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige