Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
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
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige