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

Fehlermeldung bei Paste.Special

Fehlermeldung bei Paste.Special
07.03.2005 14:39:33
Tobias
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung bei Paste.Special
07.03.2005 19:00:53
Herbert
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
AW: Fehlermeldung bei Paste.Special
08.03.2005 08:48:45
Tobias
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
Anzeige
AW: Fehlermeldung bei Paste.Special
08.03.2005 23:26:11
Herbert
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
Anzeige
Danke, hat geklappt (o.T.)!
09.03.2005 09:33:49
Tobias
Servus!
Vielen lieben Dank, funktioniert perfekt :)
Gruss

Tobias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige