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

Frage zum Range-Befehl

Frage zum Range-Befehl
15.10.2004 07:44:37
Bruno
Hallo,
nachfolgender Code ist vorhanden:

Private Sub CommandButton1_Click()
If Range("A1") = "" Then
Range("A1").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Else
Range("A1").Select
Selection.Interior.ColorIndex = xlNone
End If
Range("A1:A3").Select
Selection.Copy
Sheets("Tabelle2").Select
->   Range("A1").Select 'Dies wird angemekert!
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

d.h. Wenn in Zelle A1 nichts steht, dann hinterlege den Hintergrund dieser Zelle rot. Ansonsten bleibt er ohne Füllung. Dann kopiere die Zelle A1 bis A3 und füge sie in Tabellenblatt 2 ab Zelle A1 ein.
Problem: Bei Klick auf den Commando-Button erscheint die Fehlermeldung "Laufzeitfehler 1004" "Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden".
Was hat das zu sagen, bzw. was mache ich falsch? Gruß Bruno

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

Betreff
Datum
Anwender
Anzeige
AW: Frage zum Range-Befehl
15.10.2004 07:51:45
Matthias
Hallo Bruno,
vermeide Select, in diesem Sinne:
Private Sub CommandButton1_Click()
If Range("A1") = "" Then
With Range("A1").Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Else
Range("A1").Interior.ColorIndex = xlNone
End If
Range("A1:A3").Copy
Sheets("Tabelle2").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Gruß Matthias
AW: Frage zum Range-Befehl
15.10.2004 08:12:26
Bruno
Hallo Matthias,
vielen Dank für den super Tip. Wäre ich nie drauf gekommen. Funktioniert klasse! Ich habe trotzdem noch eine Frage: Wenn ein zweiter Eintrag in Tabellenblatt1 erfolgt, soll beim betätigen des Buttons ja nicht der bereits vorhandene Eintrag in Tabellenblatt 2 überschrieben werden. Es soll nach dem Eintragen in Tabellenblatt 2 einfach eine Zelle eingefügt werden. Der Spaltenkopf soll stehen bleiben.
Ich habe es bereits mit Macrorecorder versucht. Da kommen aber wieder jede Menge Selects vor.
Userbild
Ich hoffe nochmals auf deine Hilfe.
Anzeige
AW: Frage zum Range-Befehl
15.10.2004 09:15:57
Matthias
Hallo Bruno,
sollen nun(nach dem Scrrenshot zu schließen) der Bereich A1:A3 von Blatt 1 in die erste freie Zeile in Blatt 2 kopiert werden?
Vorher war doch der Eintrag in Tab2 auch in der Spalte, oder?
Gruß Matthias
AW: Frage zum Range-Befehl
15.10.2004 09:27:22
Bruno
Hallo Matthias,
sollte nur ein Beispiel sein. Ich habe es nun auch selbst hinbekommen. Trotzdem Danke.
Habe ich die Möglichkeit, die in Tabellenblatt 2 übernommenen Werte aufsteigend zu sortieren, ohne das ich die Fehlermeldung (wg. select) erhalte. z.B. nach einem neuen Eintrag sollen die Zellen ab A2 sortiert werden. Beim Befehl:
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
will er aus mir jetzt bekannten Gründen nicht.
Gruß Bruno
Anzeige
AW: Frage zum Range-Befehl
15.10.2004 07:54:54
Nepumuk
Hallo Bruno,
weil der Commandbutton den Fokus hat. Setze in den Eigenschaften des Buttons "TakeFocusOnClick" auf False.
Dein Makro auf das wesentliche eingedampft sieht so aus:


Private Sub CommandButton1_Click()
    Range("A1").Interior.ColorIndex = IIf(Range("A1").Value = "", 3, xlNone)
    Sheets("Tabelle2").Range("A1:A3").Value = Range("A1:A3").Value
End Sub


Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige