Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
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

Copy & Paste schreibt "Wahr" statt Wert

Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 09:55:24
AleXSR700
Hallo zusammen,
ich nähere mich meinem Ziel und lerne langsam dazu, aber jetzt stehe ich gerade vor einem kleinen Rätsel.
Ich möchte aus mehreren Zellen die Werte einlesen. Solange in der Zelle davor das gleiche steht, sollen die Werte vereint werden.
A1 = "A"
B1 = "1"
A2 = "A"
B2 = "2"
ergibt
D1 = "1, 2"
Und an sich funktioniert es so, wie ich es versuche. Aber statt die Werte dazuzuschreiben, schreibt er mir immer "Wahr".
D1 = 1, Wahr
Ich wollte also definieren, dass er nur den Wert einfügt, aber das funktioniert auch nicht.
                .Cells(LRow, LColumn + 11).Copy
Worksheets("Batch").Cells(iRow, iColumn + 12) = Worksheets("Batch").Cells(iRow,  _
_
iColumn + 12) & ", " & Worksheets("Batch").Cells(iRow, iColumn + 12).PasteSpecial(xlPasteValues) _

Eigentlich gehört ja die Angabe "xlPasteValues" nicht in Klammern, sondern kann direkt mit Leerzeichen geschrieben werden. Dann bekomme ich aber eine Fehlermeldung.
Wird das "xlPasteValues" nicht verarbeitet? Wenn ja, wie wäre die Formulierung korrekt? Oder liegt es an etwas anderem?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 10:07:29
Werner
Hallo,
es macht keinen Sinn hier drei Zeilen aus einem Code zu zeigen, der ja wohl noch etwas umfangreicher ist. In dem Codeschnipsel ist z.B. nicht zu erkennen wie du die Zellen auf Gleichheit prüfst.
Frage: Warum mit Copy und Paste ?
With Worksheets("Batch")
.Cells(iRow, iColumn + 12) = .Cells(iRow, iColumn + 12) & ", " _
& Worksheets("Blatt_aus_dem_die_Daten_kommen").Cells(iRow, iColumn + 12)
End With
Gruß Werner
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 10:17:38
AleXSR700
Hallo Werner,
danke für deine Rückmeldung.
Die Überprüfung funktioniert problemlos. Ich mache eine Do mit Loop Until ungleich.
Was wäre denn die Alternative zu Copy? Ich kopiere von einem Arbeitsblatt in ein anderes. Oder gibt es auch ein Merge?
With Worksheets("Export")
LRow = 1
LColumn = 1
iRow = 10
iColumn = 2
Do
Do
.Cells(LRow, LColumn + 11).Copy
Worksheets("Batch").Cells(iRow, iColumn + 12).PasteSpecial
Do
LRow = LRow + 1
.Cells(LRow, LColumn + 11).Copy
Worksheets("Batch").Cells(7, iColumn + 12).PasteSpecial
Worksheets("Batch").Cells(iRow, iColumn + 12) = Worksheets("Batch").Cells(iRow,  _
iColumn + 12) & ", " & Worksheets("Batch").Cells(7, iColumn + 12)
Loop Until .Cells(LRow + 1, LColumn + 10).Value  .Cells(LRow, LColumn + 10).Value
iColumn = iColumn + 2
Loop Until .Cells(LRow + 1, 1).Value  .Cells(LRow, 1).Value
iRow = iRow + 1
iColumn = 2
Loop Until IsEmpty(.Cells(LRow + 1, 1))

Anzeige
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 10:23:20
Hajo_Zi
sollte es nicht
.PasteSpecial Paste:=xlPasteValues
lauten?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 11:07:23
Werner
Hallo,
das hatte ich dir doch schon geschrieben:
With Worksheets("Batch")
.Cells(iRow, iColumn + 12) = .Cells(iRow, iColumn + 12) & ", " _
& Worksheets("Export").Cells(iRow, iColumn + 12)
End With
Und sorry, aber das was du da jetzt an Code zeigst ist ein rechtes Gemurkse. Offensichtlich fehlen da wieder Teile davon.
Gruß Werner
Anzeige
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 11:48:14
AleXSR700
Hallo Hajo, hallo Werner,
@Hajo: eigentlich ja, aber dann bringt er einen Fehler. Das funktioniert leider nicht.
@Werner: Leider ja. Ich bin ja Anfänger. Elegant sähe bestimmt ganz anders aus :-)
Aber der Code ist im Export hinterlegt. Deshalb war es so rum. Ich kann mal versuchen dann für diesen Abschnitt das Worksheet wieder umzuschalten.
Aber müsste mein Code nicht irgendwie auch funktionieren?
Es klappt nämlich, wenn ich die Zelle von Export in einer dritte Zelle in Batch kopiere und dann erst innerhalb von Batch die beiden Zellen zusammenkopiere. Irgendwie muss also mein Befehl falsch sein, weil er nicht von Export nach Batch das gleiche schafft.
Anzeige
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 12:11:28
Hajo_Zi
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue und ich baue keine Datei nach.
Vielleicht sollte die Datei verlinkt werden?
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 14:07:27
AleXSR700
Hi,
ich poste dir natürlich gerne den Rest. Dachte nur, dass da eigentlich kaum was steht.

Sub Export_einlesen()
Dim Dateiname As String
Dim i As Integer
Dim iRow As Integer
Dim iColumn As Integer
Dim LRow As Integer
Dim LColumn As Integer
With Worksheets("Export")
.Range("A:Z").Font.Name = "Calibri"
.Range("A:Z").HorizontalAlignment = xlCenter
.Range("A:Z").VerticalAlignment = xlCenter
.Range("A:Z").Font.Size = "14"
LRow = 1
LColumn = 1
iRow = 10
iColumn = 2
Do
Do
.Cells(LRow, LColumn + 11).Copy
Worksheets("Batch").Cells(iRow, iColumn + 12).PasteSpecial
Do
LRow = LRow + 1
.Cells(LRow, LColumn + 11).Copy
Worksheets("Batch").Cells(7, iColumn + 12).PasteSpecial
Worksheets("Batch").Cells(iRow, iColumn + 12) = Worksheets("Batch").Cells(iRow,  _
iColumn + 12) & ", " & Worksheets("Batch").Cells(7, iColumn + 12)
Loop Until .Cells(LRow + 1, LColumn + 10).Value  .Cells(LRow, LColumn + 10).Value
iColumn = iColumn + 2
Loop Until .Cells(LRow + 1, 1).Value  .Cells(LRow, 1).Value
iRow = iRow + 1
iColumn = 2
Loop Until IsEmpty(.Cells(LRow + 1, 1))
End With
End Sub
Das funktioniert. Wenn ich aber das Vorgehen aus meinem ersten Post nutzen will, sprich direkt von Zelle in Export zur Zielzelle in Batch kopieren, dann funktioniert es nicht.
Prinzipiell funktioniert es also so, wie ich es hier schreibe. Aber das finde selbst ich nicht elegant :-)
Kopiere ich aber direkt (siehe erster Post), dann bekomme ich nur "1, WAHR, WAHR, WAHR" statt "1, 2, 3, 4".
Viele Grüße
Anzeige
AW: Copy & Paste schreibt "Wahr" statt Wert
04.08.2019 16:21:41
Nepumuk
Hallo Alex,
PasteSpecial ist eine Funktion (siehe Objektkatalog) die immer True zurück gibt. Daher auch das WAHR in deiner Zelle. So wie du es jetzt machst ist es vollkommen OK.
Gruß
Nepumuk

251 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige