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

copy paste
04.01.2013 18:11:14
Udo
Hallo,
ich arbeite viel mit copy paste und hab jetzt das kleine Problem, dass ich nicht weiss, wie es anstellen kann, dass excel mir bestimmte Zellen nicht überschreibt.
Beispiel:
Ich kopiere Daten in meine Mappe und das im Feld OP3 steht 421 welches nicht überschrieben werden soll.
geht das irgendwie ?
Gruss Udo

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: copy paste
04.01.2013 18:14:37
schauan
Hallo Udo,
zeigst Du uns mal, welcher code die Zelle op3 überschreibt?
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: copy paste
04.01.2013 18:14:56
Hajo_Zi
Hallo Udo,
entsperre alle Zellen bis auf diese uns schütze die Tabelle.

AW: copy paste
04.01.2013 18:38:34
Udo
Versteh ich grad nicht. Bei mir sind in meiner Tabelle keine Zellen gesperrt , also kann ich auch keine entsperren.
Und nen Code kann auch nicht anbieten, dass es nur um copy und paste geht. Nochmal Beispiel:
Ich kopiere 100 Zellen, eine Zelle soll unverändert bleiben.

Anzeige
AW: copy paste
04.01.2013 19:04:26
Udo
muss mich korrigieren. Kann natürlich alle Zellen entsperren und die Tabelle schützen, dann wird die Zelle auch nicht mehr überschrieben. Aber leider nützt mir das gar nichts, weil ich dann in den anderen Zellen ebenfalls nichts mehr rein kopieren kann.

AW: copy paste
04.01.2013 19:14:23
Hajo_Zi
also hast Du sie schon alle entsperrt, da dies Standard ist, dann sperre nur diese eine Zelle.
es würde dann eine Fehlermeldung kommen.
Gruß Hajo

AW: copy paste
04.01.2013 19:25:04
Udo
ja, wenn ich diese eine Zelle sperre, kann ich dann nicht mehr weiter arbeiten mit copy paste.
Ich hatte ne andere Idee, mir wäre auch geholfen, wenn der mir die entsprechenden Zellen markiert. Dazu hab ich dieses Makro erstellt:
Sub zellenauswaehlen2()
' zellenauswaehlen Makro
Range("OS47").Activate
Union(Range( _
"QF25,QF52,QI15,QI42,QC35,QL5,QL32,QL59,QO22,QO49,QR12,QR39,QR66,QU29,QU56,QX19,QX46, _
RA9,RA36,RA63,RD53,RD26,RG16,RG43,RJ6,RJ33,RJ60,RM23,RP13,RP40,RM50" _
), Range( _
"OP3,OP30,OP57,OS20,OS47,OV10,OV37,OV64,OY27,PB17,PB44,PE7,PE34,PE61,PH24,PH51,PK14, _
PK41,PN4,PN31,PN58,PQ21,PQ48,PT38,PT65,PW28,PW55,PT11,PZ18,PZ45,QC8,QC62" _
)).Select
Range("RM50").Activate
End Sub
Der Code umfasst immer 27 Spalten, leider hab ich keine Ahnung, was ich machen muss, dass der das für die nächsten 27 Spalten auch macht, und immer so weiter. Müsste dann wieder ein neues Makro schreiben.
Vielleicht im VBA Editor mit suchen ersetzen arbeiten ?, bin das bisschen hilflos

Anzeige
AW: copy paste
04.01.2013 19:32:32
schauan
Halo Udo,
im Prinzip so? Da wird schrittweise immer mehr ausgewählt.
Sub test()
Range("A1,A3").Select
Union(Selection, Selection.Offset(, 3)).Select
Union(Selection, Selection.Offset(, 3)).Select
End Sub

 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: copy paste
04.01.2013 21:40:49
Udo
ja im Prinzip schon. Na mal sehen, ob ich das in meinen Code einbauen kann. Kann ja gar nicht programmieren, kann nur immer alles ausprobieren.
Danke Dir aber schon mal

AW: copy paste
04.01.2013 21:53:20
schauan
Hallo Udo,
wenn Du die erste Gruppe selektiert hast, dann übernimmst Du mit Union diesen Bereich und erweiterst die Selektion um die Zellen aus dem offsetierten Bereich. Das wiederholst Du so oft wie nötig.
Im Offset hab ich die Null weggelassen, daher steht dort nur (, 3)
Den ersten Teil hast Du ja schon programmiert und gepostet. Jetzt musst Du immer nur, ähnich wie in meinem Beispiel, die Union mit dem Versatz nachziehen, nur dass es bei Dir nicht 3, sondern 27 Spalten sind.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: copy paste
04.01.2013 22:18:35
Udo
ok das werd ich versuchen, da ich aber schon seit 8 Uhr heute morgen am Rechner bin, erst morgen. Ich sag dann hier kurz Bescheid.
tschaui und Danke

AW: copy paste
04.01.2013 19:24:45
schauan
Hallo Udo,
mit den Methoden copy und paste kannst Du per VBA kopieren und einfügen.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: copy paste
06.01.2013 14:09:11
Udo
ich blick hier überhaupt nicht durch. Der macht zwar weiter, aber schreibt mir die Markierungen in die falschen Felder
Sub zellenauswaehlen()
' zellenauswaheln Makro
Union(Range( _
"AN35,AN62,AQ25,AQ52,AT15,AT42,AW5,AW32,AW59,AZ22,AZ49,BC12,BC39,BC66,BF29,BF56,BI19, _
BI46,BL9,BL36,BL63,BO26,BO53,BR16,BR43,BU6,BU33,BU60,BX23,BX50,CA13,CA40" _
), Range( _
"A3,A30,A57,D20,D47,G10,G37,G64,J27,J54,M17,M44,P7,P61,P34,S24,S51,V14,V41,Y4,Y31,Y58, _
AB21,AB48,AE11,AE38,AE65,AH28,AH55,AK18,AK45,AN8" _
)).Select
Union(Selection, Selection.Offset(, 27)).Select
Union(Selection, Selection.Offset(, 27)).Select
Range("CA40").Activate
End Sub

Anzeige
AW: copy paste
06.01.2013 14:30:38
Udo
Schwer , schwer.
Ich glaube ich muss das so machen
Sub Makro7()
' Makro7 Makro
Range("A3").Select
Union(Selection, Selection.Offset(, 81)).Select
Range("y4").Select
Union(Selection, Selection.Offset(, 81)).Select
End Sub

und das für alle 64 Markierungen.

AW: copy paste
06.01.2013 14:44:58
Udo
nein, dann merkt der sich die vorherigen Markierungen nicht

AW: copy paste
06.01.2013 14:53:55
schauan
Hallo Udo,
also, bei mir in excel 2010 funktioniert es.
Sub zellenauswaehlen()
' 
' zellenauswaheln Makro 
Union(Range( _
"AN35,AN62,AQ25,AQ52,AT15,AT42,AW5,AW32,AW59,AZ22,AZ49,BC12,BC39,BC66,BF29,BF56,BI19," & _
"BI46,BL9,BL36,BL63,BO26,BO53,BR16,BR43,BU6,BU33,BU60,BX23,BX50,CA13,CA40"), _
Range("A3,A30,A57,D20,D47,G10,G37,G64,J27,J54,M17,M44,P7,P61,P34,S24,S51,V14,V41,Y4,Y31,Y58," & _
"AB21,AB48,AE11,AE38,AE65,AH28,AH55,AK18,AK45,AN8")).Select
Union(Selection, Selection.Offset(, 27)).Select
Union(Selection, Selection.Offset(, 27)).Select
Range("CA40").Activate
Selection.FormulaR1C1 = "=column()"
End Sub
Ich hab am Ende noch zur Kontrolle die Spaltenformel eingefügt. Der von Dir gepostete code hat bei mir einen Fehler schon nach dem Einfügen gebracht, das hab ich bereinigt.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: copy paste
06.01.2013 14:55:59
Udo
Ich hab mal mein Blatt hochgeladen
https://www.herber.de/bbs/user/83268.xlsm
in A3, soll der 81 Felder weiter markieren also in CD 3
in Y4, ebenfalls 81 Felder weiter also in DB4
der letzte wäre dann BC66 , 81 Felder weiter EF66

AW: copy paste
06.01.2013 15:16:24
schauan
Hallo Udo,
wenn die "Sprungweite" 81 ist, dann klappt's vielleicht damit ;-) Ich hab die 27 erwähnt, weil Du weiter oben auch mal über 27 geschrieben hast...
Dann darfst Du zwischendurch auch nicht neu einen Range selektieren.
Ich hab ja deshalb erst den Range selektiert und dann mit Union die bisherige Selektion übernommen und erweitert.
Also um ma Deinen letzten code zu korrigieren, nicht
Range("A3").Select
Union(Selection, Selection.Offset(, 81)).Select
Range("y4").Select ' Union(Selection, Selection.Offset(, 81)).Select
sondern
'beide Zellen selektieren und 1x Selektion offsetieren
Range("A3,Y4").Select
Union(Selection, Selection.Offset(, 81)).Select
oder
'beide Zellen selektieren und 2x Selektion offsetieren
Range("A3,Y4").Select
Union(Selection, Selection.Offset(, 81)).Select
Union(Selection, Selection.Offset(, 81)).Select
oder
'eine Zelle selektieren und 1x offsetieren,
'Selektion um Y4 erweitern und Selektion 1x offsetieren
Range("A3").Select
Union(Selection, Selection.Offset(, 81)).Select
Union (Selection, Range("y4")).Select
Union(Selection, Selection.Offset(, 81)).Select
- je nachdem, wie es anschließend selektiert sein soll ....
Die Frage wäre dann natürlich, was Du weiter tun willst.
Sobald Du in irgendeine Zelle klickst oder ein anderes Makro etwas selektiert, ist die Selection Geschichte :-(
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: copy paste
06.01.2013 15:37:30
Udo
ok Danke.
ich wollte immer weiter immer an den gleichen Stellen die Nummerierung fortführen also weiter mit 165
in CE3. Sind die markiert kann ich dann z.b. mit Zellenformatierungen "gut" erreichen, dass die Felder weiter markiert sind und muss dann nicht immer suchen, wenn da Daten drin stehen.
geht bestimmt auch leichter, dass der automatisch immer +1 addiert, aber bekomme ja noch nicht mal die einfachen Markierungen hin. Ist eben schlecht, wenn man keine Ahnung von programmieren hat.
Schönen Sonntag

AW: copy paste
06.01.2013 15:54:34
Udo
supi , so gehts doch
Range("a3,y4,aw5,bu6,p7,a30,a57").Select
Union(Selection, Selection.Offset(, 81)).Select
muss ich nur noch die anderen Zellen eintragen.
Vielen Dank

Anzeige
AW: copy paste
06.01.2013 14:40:26
schauan
Hallo Udo,
also, ich hab mal in Zeile 3 geschaut. Dort ist in Spalte 1, 28 und 55 markiert.
1+27=28+27=55. Das passt. Was ist verkehrt?
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: copy paste
07.01.2013 11:45:25
Mäxl
Hi,
da wird man ja richtig "schwindelig" bei der "Malerei" der Zellen....
last doch das sinnlose selecten...
reicht nicht das auch?
Sub til()
Dim IntZahl As Integer, IntRow As Integer, IntCol As Integer
IntZahl = 101
IntRow = 3
For IntCol = 1 To [yb1].Column Step 3
Do
Cells(IntRow, IntCol) = IntZahl
IntZahl = IntZahl + 1
IntRow = IntRow + 27
Loop While IntRow 

Anzeige
AW: copy paste
07.01.2013 13:49:53
Udo
Danke für den code, allerdings macht der bei mir gar nichts, wenn ich den ausführe.

AW: copy paste
07.01.2013 14:36:45
Mäxl
Hi,
dann passt er ;)
bei einer Zahl hat er aber eine andere Pos. als in deiner Bsp.Mappe.
Tipp:
lösche einmal ein paar Nummern heraus und führe dann den Code aus.
gruß
Mäxl

AW: copy paste
07.01.2013 15:36:24
Udo

Sub til()
Dim IntZahl As Integer, IntRow As Integer, IntCol As Integer
IntZahl = 101
IntRow = 3
For IntCol = 1 To [yb1].Column Step 3
Do
Cells(IntRow, IntCol) = IntZahl
IntZahl = IntZahl + 1
IntRow = IntRow + 27
Loop While IntRow 
Hallo Mäxl, wenn ich jetzt ne gut aussehende Frau wäre, würde ich Dich küssen und knuddeln. Danke Dir sehr. Funzt ja ganz prima, ich dachte jetzt nicht, dass der mir auch die gewünschten Zahlen einträgt, deswegen dachte ich, der code macht gar nix.
Kann ich das vielleicht irgendwo nachlesen, was da passiert ? Wieso steht da z.b. [yb1] ? und im code steht doch auch nirgendwo, dass der in jeder 27. Zelle ne Zahl einträgt, jedenfalls wüsste ich nicht wo.
Ach , es ist ein Kreuz, wenn man nicht programmieren kann. Komm mir vor wie ein Indianer, der zum ersten Mal ein dickes Buch sieht.
Lieben Gruss
Udo F.

AW: copy paste
07.01.2013 16:23:58
schauan
Hallo Udo,
[yb1]
Eine Zelle kann man auf verschiedene Weisen ansprechen, z.B.
Range("yb1")
oder
Cells(1, "yb"]
oder
Cells(1, 652]
oder
[yb1]
...
Statt der konkreten Angaben können auch Variable stehen, siehe im code.
Die 27. Zelle wird durch die + 27 erreicht. Dass das öfters geschieht, liegt an der "Schleife" mit Do und Loop. Dabei kennzeichnet das While die Bedingung für das Schleifenende. Steht die Bedingung beim Loop, wird die Schleife mindestens 1x ausgeführt. Steht sie beim Do, kann es auch passieren, dass sie nicht ausgeführt wird.
Übrigens ist das A und O eine genaue Aufgabenbeschreibung. Ist so ähnlich wie die Antwort, wie man zum Briefkasten kommt. Da reicht nicht "Ich geh hin" ;-) Welche Muskeln sich dabei bewegen ist vielleicht weniger von Interesse, aber ob man auf Händen oder Füßen geht, zwei Stufen auf einmal nehmen will wenn man weiter oben wohnt, wieviel Stockkwerke es sind und ob die Tür abgeschlossen ist und man Schlüssel braucht ...
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: copy paste
07.01.2013 16:36:31
Udo
Ja, genaue Aufgabenbeschreibung ... da hast du sicher recht. Ich find´s auf jeden Fall prima hier. Konnte schon gute codes hier für mich verwerten. Ich hätte das nie so hinbekommen.
Der Code oben minimiert meine Fehlerquote gegen Null und nimmt mir sehr viel Arbeit ab.
Nochmals vielen Dank für die freundliche Hilfe

AW: copy paste
07.01.2013 15:51:20
Udo
ist klar, der code geht bis yb1 und kann ich dann natürlich erweitern. Vielleicht hätte ich nicht BWL sondern Informatik studieren sollen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige