Fehlermeldung bei Paste.Special

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fehlermeldung bei Paste.Special
von: Tobias Marx
Geschrieben am: 07.03.2005 14:39:33
Hallo nochmal :)
Nun ein anderes Problem:
Ich habe folgenden Code:
Range("IA1").Select
ActiveCell.FormulaR1C1 = "1"
Selection.Copy
Selection.ClearContents
Application.Columns(sref).EntireColumn.Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlMultiply, SkipBlanks:= _
True, Transpose:=False
Dieser Code markiert eine Spalte und multipliziert die Werte dort mit 1 durch (diese 1 wurde in IA1 eigegeben, kopiert und soll zum multiplizieren verwendet werden). Wenn ich das Makro nun aber ausfuehre, bekomme ich einen Fehler namens "Anwendungs- oder objektorientierter Fehler".
Was ist hier falsch?
Ausserdem moechte ich nicht die ganze Spalte bis 65535 markieren, sondern nur bis zum letzten Datensatz. Any ideas?
Danke im Voraus
Tobias

Bild

Betrifft: AW: Fehlermeldung bei Paste.Special
von: Herbert H.
Geschrieben am: 07.03.2005 19:00:53
Hallo Tobias,
ein Ansatz für eine Spalte:


Sub multipl()
Dim lz&
lz = Cells(Rows.Count, 2).End(xlUp).Row
[A1] = 2
[A1].Copy
Range("b1:b" & lz).PasteSpecial Operation:=xlMultiply
[A1].ClearContents
End Sub

     Gruß Herbert
Bild

Betrifft: AW: Fehlermeldung bei Paste.Special
von: Tobias Marx
Geschrieben am: 08.03.2005 08:48:45
Hallo Herbert und die anderen,
erstmal danke fuer deine Idee, aber so ganz wills noch nich.
Ich hab den Code folgendermaßen umgeformt:

Private Sub CommandButton1_Click()
  Dim lz&
  lz = Cells(Rows.Count, 2).End(xlUp).Row
  [A1] = 1
  [A1].Copy
  Range(sref & "1:" & sref & lz).PasteSpecial Operation:=xlMultiply
  [A1].ClearContents
End Sub

Wobei sref der Name der Spalte ist, in der ich etwas verarbeiten will; er wird folgendermaßen ausgelesen:
If Not ComboBox1.ListIndex = -1 Then
sref = ComboBox1.ListIndex + 1
End If
Nun geht dein Code zwar so weit, und markiert nach unten hin nur bis zum letzten Datensatz, nach rechts aber geht er bis zum Ende des Bereichs von Excel. Ich moechte aber, dass er dort aufhoert, wo auch rechts der letzte Datensatz steht.
Gruss
Tobias
Bild

Betrifft: AW: Fehlermeldung bei Paste.Special
von: Herbert H.
Geschrieben am: 08.03.2005 23:26:11
die Variable "sref" kann ich nicht testen...


Sub multipliz_in_Bereich()
Dim As Byte, ls As Byte, c As Range
Dim lz&, lzB As Byte, ber As Range
Application.ScreenUpdating = False
For i = 1 To 100
  ls = Cells(i, 255).End(xlToLeft).Column
  Cells(i, 256) = ls
Next
  lzB = WorksheetFunction.Max([iv1:iv100])
  lz = Cells(Rows.Count, 2).End(xlUp).Row
  
  [A1] = 2
  [A1].Copy
 Set ber = Range(Cells(1, sref), Cells(lz, lzB))
     ber.PasteSpecial Operation:=xlMultiply
  
For Each In ber
 If c = 0 Then c = ""
Next
With ActiveSheet.[A1]
    .ClearContents
    .Select
End With
Application.ScreenUpdating = True
End Sub

     gruß Herbert
Bild

Betrifft: Danke, hat geklappt (o.T.)!
von: Tobias Marx
Geschrieben am: 09.03.2005 09:33:49
Servus!
Vielen lieben Dank, funktioniert perfekt :)

Gruss

Tobias
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung bei Paste.Special"