Anzeige
Archiv - Navigation
1904to1908
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

Code erweitern

Code erweitern
30.10.2022 12:08:05
Stefan
Hallo zusammen,
ich versuche den Code so zu erweitern, dass beim einfügen nur die Werte eingefügt werden. Aber ich finde nicht die richtige schreibweise.
Der Code funktioniert.
Kann mir da jemand bitte helfen?
Danke
Gruss
Option Explicit

Sub dptAusl()
Dim rngSuch As Range, wksSrc As Worksheet, wksDst As Worksheet
Dim strSuch As String, rngFound As Range
Dim strFirst As String, FoundAdr As String
Dim ZeSrc As Integer, ZeDst As Integer, lRow As Long, lRowDst As Long
Set wksSrc = Worksheets("DPL_ISP100")
Set wksDst = Worksheets("Tabelle2")
lRow = wksSrc.Cells(Rows.Count, 2).End(xlUp).Row
Set rngSuch = wksSrc.Range("A2:B" & lRow)
With wksDst
lRowDst = WorksheetFunction.Max(2, .Cells(Rows.Count, 1).End(xlUp).Row)
If .Range("A2") = "" Then
.Cells(2, 1) = "ISP"
.Cells(2, 2) = "AKS"
End If
End With
strSuch = "ISP101"
With rngSuch
Set rngFound = .Find(what:=strSuch)
If Not rngFound Is Nothing Then
strFirst = rngFound.Address
Do
FoundAdr = rngFound.Address
ZeSrc = rngFound.Row
ZeDst = wksDst.Cells(Rows.Count, 1).End(xlUp).Row + 1
wksSrc.Range("B" & ZeSrc).Copy wksDst.Cells(ZeDst, 1)
wksSrc.Range("BP" & ZeSrc).Copy wksDst.Cells(ZeDst, 2)
' an dieser Stelle (und in der vorherigen Zeile) soll der Code angefügt werden aber ich finde nicht die richtige schreibweise. Code:
' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
' :=False, Transpose:=False
Set rngFound = .FindNext(rngFound)
Loop While Not rngFound Is Nothing And rngFound.Address  strFirst
Else
End If
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Code erweitern
30.10.2022 12:14:14
GerdL
Hallo Stefan,
alternativ.

wksDst.Cells(ZeDst, 1).Resize(1, 2) = Array(wksSrc.Range("B" & ZeSrc), wksSrc.Range("BP" & ZeSrc))
Gruß Gerd
AW: Code erweitern
30.10.2022 12:19:37
Daniel
Hi

Selection.PasteSpecial xlpastevalues
Ist schon der richtige Code, um nur die Werte vom kopierten Bereich zu über nehmen.
Die weiteren Parameter kannst du beim einfachen Einfügen weglassen.
Als Zellbereich (selection) gibst du die obere linke Zelle des Einfügebereichs an.
Gruß Daniel
AW: Code erweitern
30.10.2022 12:34:04
Stefan
Hallo Zusammen,
vielen Dank für die schnelle Hilfe.
Ich habe beide Varianten getestet.
wksDst.Cells(ZeDst, 1).Value = wksSrc.Range("B" & ZeSrc).Value
wksDst.Cells(ZeDst, 2).Value = wksSrc.Range("BP" & ZeSrc).Value
Funktioniert bestens. Da aber in der Tabelle, aus der die Daten bezogen werden, Farben verwendet werden - werden die hier mit eingefügt.
(hatte ich nicht erwähnt - ich weiß)
wksDst.Cells(ZeDst, 1).Resize(1, 2) = Array(wksSrc.Range("B" & ZeSrc), wksSrc.Range("BP" & ZeSrc))
Da hier die Farben nicht übernommen werden - für mich die beste Varante.
VIelen Dank!
Anzeige
AW: Code erweitern
30.10.2022 12:15:00
volti
Hallo Stefan,
ohne jetzt Deinen code näher angeschaut zu haben.....
Wenn Du nur Werte übernehmen möchtest, würde ich die gar nicht kopieren sondern direkt übernehmen. Hier eine Idee
wksDst.Cells(ZeDst, 1).Value = wksSrc.Range("B" & ZeSrc).Value
wksDst.Cells(ZeDst, 2).Value = wksSrc.Range("BP" & ZeSrc).Value

Gruß
Karl-Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige