Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Paste und PasteSpecial

Forumthread: Paste und PasteSpecial

Paste und PasteSpecial
30.10.2004 15:43:30
Jens_Pu
Hallo Excelfreunde,
was mache ich denn da schon wieder falsch? So iwe es hier steht, funktioniert es, allerdings werden auch die Kommentare mit kopiert. Also versuchte ich es mit PasteSpecial. Geht nicht. Warum? Fehlermeldung im Code-Kommentar.


      
Sub TelefonlisteErstellen(dummytrue As Boolean)
  
Dim lngZeilenzahl As Long
  
Dim rngDatenbereich As Range
  
Dim rngAktZelle As Range
  
Dim strBlattname As String
  
Dim intI As Integer
  
Dim blnVorhanden As Boolean
  
Dim intAntwort As Integer
  Application.ScreenUpdating = 
False
  Application.EnableEvents = 
False
  
Set rngAktZelle = ActiveCell
  
  
'Prüfen ob schon ein Blatt "Telefonliste" existiert
  strBlattname = "Telefonliste"
  blnVorhanden = 
False
  
For intI = 1 To Sheets.Count
    
If Sheets(intI).Name = strBlattname Then blnVorhanden = True
  
Next
  
If blnVorhanden = True Then
    intAntwort = MsgBox("Vorhandene Telefonliste überschreiben?", 36, "Frage")
    
If intAntwort = vbNo Then
      Application.ScreenUpdating = 
True
      Application.EnableEvents = 
True
      rngAktZelle.Activate
      
Exit Sub
    
Else
    
'ZielBlatt leeren
    Worksheets(strBlattname).UsedRange.Clear
    
End If
  
End If
  
  
'Start des Datenbereichs in Zelle A9
  'Letzte benutzte Zeile ermitteln
  lngZeilenzahl = Cells(Rows.Count, 1).End(xlUp).Row
  
Set rngDatenbereich = Union(ActiveSheet.Range(Cells(9, 1), Cells(lngZeilenzahl, 2)), _
                           ActiveSheet.Range(Cells(9, 10), Cells(lngZeilenzahl, 10)))
  rngDatenbereich.Copy
  
  
'Blatt "Telefonliste" erzeugen
  If blnVorhanden = False Then
    Sheets.Add After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "Telefonliste"
  
Else
    Worksheets(strBlattname).Activate
    Cells(1, 1).Activate
  
End If
  
'Einfügen der Daten in Blatt "Telefonliste"
  ActiveSheet.Paste                 '<-----geht
  
'  ActiveSheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False   '<-----geht nicht! Anwendungs od. Objektorientierter Fehler

  
  
  
'Mitgliederliste darstellen und Cursor auf Ausgangsposition
  Application.EnableEvents = True
  Worksheets("Mitglieder").Activate
  rngAktZelle.Activate
  Application.ScreenUpdating = 
True
End Sub 


Gruß Jens
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Paste und PasteSpecial
K.Rola
Hallo,
etwas modifiziert:
Option Explicit
Sub TelefonlisteErstellen(dummytrue As Boolean)
Dim lngZeilenzahl As Long
Dim rngDatenbereich As Range
Dim rngAktZelle As Range
Dim strBlattname As String
Dim intI As Integer
Dim blnVorhanden As Boolean
Dim intAntwort As Integer
On Error GoTo ENDE
Application.EnableEvents = False
Application.ScreenUpdating = False
Set rngAktZelle = ActiveCell
'Prüfen ob schon ein Blatt "Telefonliste" existiert
strBlattname = "Telefonliste"
blnVorhanden = False
For intI = 1 To Sheets.Count
If Sheets(intI).Name = strBlattname Then blnVorhanden = True
Next
If blnVorhanden = True Then
intAntwort = MsgBox("Vorhandene Telefonliste überschreiben?", 36, "Frage")
If intAntwort = vbNo Then
Application.ScreenUpdating = True
Application.EnableEvents = True
rngAktZelle.Activate
Exit Sub
Else
'ZielBlatt leeren
Worksheets(strBlattname).UsedRange.Clear
End If
End If
'Start des Datenbereichs in Zelle A9
'Letzte benutzte Zeile ermitteln
lngZeilenzahl = Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Mitglieder")
Set rngDatenbereich = Union(.Range(.Cells(9, 1), .Cells(lngZeilenzahl, 2)), _
.Range(.Cells(9, 10), .Cells(lngZeilenzahl, 10)))
End With
'Blatt "Telefonliste" erzeugen
If Not blnVorhanden Then
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Telefonliste"
End If
rngDatenbereich.Copy
Worksheets(strBlattname).[a1].PasteSpecial Paste:=xlPasteValues
'Mitgliederliste darstellen und Cursor auf Ausgangsposition
Worksheets("Mitglieder").Activate
rngAktZelle.Activate
Application.CutCopyMode = False
ENDE:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Gruß K.Rola
Anzeige
AW: Paste und PasteSpecial
30.10.2004 16:31:06
Jens_Pu
Hallo K.Rola,
vielen Dank, wieder mal, für Deine schnelle Hilfe.
Klappt prima.
Ich sehe zwar, was Du geändert hast. Verstehe aber nicht was ich falsch gemacht habe.
Gruß Jens
Nachfrage
30.10.2004 17:34:29
Jens_Pu
Hallo K.Rola,
jetzt habe ich mich gefreut und es gleich versucht weiter zu verwenden.
Beim einfügen der Formel in A2 steigt er aus 1004.
Scheinbar bin ich einfach zu blöd.
rngDatenbereich.Copy

With Worksheets(strBlattname)
.[B1].PasteSpecial Paste:=xlPasteValues
.[A1].FormulaLocal = "=LINKS(B1)"
'.[A2].FormulaLocal = "=WENN(LINKS(B2)=LINKS(B1);"";LINKS(B2))"
End With
Gruß Jens
Anzeige
AW: Nachfrage
K.Rola
Hallo,
die "" müssen doppelt sein!
[a2].FormulaLocal = "=WENN(LINKS(B2)=LINKS(B1);"""";LINKS(B2))"
Gruß K.Rola
AW: Nachfrage
Jens_Pu
Hallo K.Rola,
manches ist sooo einfach, wenn man es weiß. ;-)
Danke.
Gruß Jens
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige