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

Formeln bein kopieren nur teilweise löschen

Formeln bein kopieren nur teilweise löschen
Bowl

Sub Anlegen()
Dim Blattname As String, Bereich As Range
Set Bereich = ActiveSheet.Range("A1:Q27")
Blattname = [B3]
If [B3] = "" Then
MsgBox ("Auftragsnummer eingeben")
Exit Sub
Else: Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = Blattname
ActiveSheet.Unprotect
Bereich.Copy
Sheets(Blattname).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, skipblanks _
:=False, Transpose:=False
End Sub


Damit wird vom einen in ein anderes Tabellenblatt kopiert.
Allerdings müssen die Formeln in Q erhalten bleiben, sicher wäre es einfach möglich auf 2. _
Schritte kopiern,
doch ist des weder elegant noch praktisch.
Gibt es also eine möglichkeit in dieser letzten Spalte die Formeln beizubehalten?
Viele Dank im Voraus und Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Letzte Spalte separat kopieren und einfügen...
06.07.2009 16:03:06
Luc:-?
...mit Paste:=xlPasteFormulas, Bowl...

Dim Blattname1 As String, Blattname2 As String, Bereich1 As Range, Bereich2 As Range
Set Bereich1 = ActiveSheet.Range("A1:P27")
Set Bereich2 = ActiveSheet.Range("Q1:Q27")
Blattname1 = ActiveSheet.Name
Blattname2 = [B3]
Bereich1.Copy
Sheets(Blattname2).Activate
Sheets(Blattname1).Activate
Bereich2.Copy
Sheets(Blattname2).Activate
Range("Q1").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, skipblanks:=False,  _
Transpose:=False
...

Geht natürlich auch ohne Select, aber was soll's... ;-)
Gruß Luc :-?

Anzeige
AW: Letzte Spalte separat kopieren und einfügen...
06.07.2009 16:06:11
Bowl
Letzte Spalte seperat einfügen, wollt ich mir wie gesagt eben sparen in der hoffnung des ganze eben anders lösen zu können (auch wenns eh nur 3 Zeilen sind - was kürzer geht sollt ma ja auch kürzer machen), aber wenns wohl keine andere Möglichkeit dann bleibt mir wohl nix anders übrig
Aber Danke :)
Oh Gott, bist du Schotte? Natürlich...
06.07.2009 16:20:43
Luc:-?
...geht's auch anders, SuperBowl,
aber kaum schneller... ;-)
Mann, das ist ein Programm, das macht das in Nullkommanix... und du hast VBA nein angegeben...!
Gruß Luc :-?
Werte und Formeln kopieren
06.07.2009 16:19:37
Erich
Hallo Vorname, ( zu Vornamen und Nicknames schau bitte mal in die Forums-FAQ )
probier mal

Sub Anlegen2()
Dim strBlatt As String, rngW As Range, rngF As Range
With ActiveSheet
strBlatt = .Range("B3")
If strBlatt = "" Then
MsgBox ("Auftragsnummer eingeben")
Exit Sub
End If
Set rngW = .Range("A1:P27")
Set rngF = .Range("Q1:Q27")
strBlatt = .Range("B3")
End With
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = strBlatt
Range(rngW.Address) = rngW.Value
rngF.Copy ActiveSheet.Range(rngF.Address)
End Sub

Noch zwei Bemerkungen:
"ActiveSheet.Unprotect" ist unnötig. Das neue Blatt wurde nicht geschützt.
"Sheets(Blattname).Activate" ist auch unnötig. Das neue Blatt IST aktiv.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
So geht's natürlich auch,...
06.07.2009 16:30:30
Luc:-?
...Erich,
Variante für "SuperBowl-Schotten"...! ;-)
Gruß Luc :-?

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige