Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
228to232
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
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA : bitte anderen Begriff für einen Befehl

VBA : bitte anderen Begriff für einen Befehl
13.03.2003 21:24:05
udo
Hallo ihr Lieben, wüsste mir jemand Hilfe, ich habe folgendes Makro in meinen Tabellenblatt selbst verankert ( Unten ).

Er bewirkt das man in der 7 Spalte ab Zeile 19 bis 507 nur mit der Maus eine einzelne Zelle aus diesem definierten Bereich anklicken zu braucht , und sich dann ein " O " in die Zelle einfügt. Klickt man nochmals drauf geht wieder weg.

Ist also ideal um zu markieren.

soweit so gut funktioniert super. das dumme ist nur dass ich in diesem Tabellenblatt einen Button habe der mit einem Makro belegt ist welches mir diesen Bereich G12 - G507 färbt und formartiert , oder nicht.
Und genau wenn ich dieses Makro auslöse , springt der Debugger auf und zeigt mir den Fehler aber im Makro des Tabellenblattes.

Ich vermute mal dass das damit zusammenhängt dass das Makro der Tabelle einzelne Zellen behandelt, und dass des Buttons den Bereich aber dann auf einmal ändern will ?
Bin mir nicht sicher.

Meine Frage, kann man den mit XXXXX markierten Ausdruck des TabellenVBA´s so umschreiben das der Fehler nicht mehr besteht.
wenn der Debugger aufgeht ist der mit XXXXX markierte Bereich gelb unterlegt. Ich selbst weis hier leider nicht weiter,
vielleicht wüsstet ihr Hilfe,

Vielen Dank schon mal im Voraus, udo


Private Sub Worksheet_SelectionChange(ByVal Target As range)
If Target.Column = 7 Then
If Target.Row >= 12 And Target.Row <= 507 Then
XXXXXXXX If Target.Value = UCase("O") Then XXXXXXXXX
Target.Value = ""
Cells(ActiveCell.Row + 1, ActiveCell.Column + 1).Activate
Else
Target.Value = "O"
Cells(ActiveCell.Row + 1, ActiveCell.Column + 1).Activate
End If
End If
End If
End Sub



6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA : bitte anderen Begriff für einen Befehl
13.03.2003 21:54:34
Forum

arbeitest Du im zweiten Makro mit Select???


Re: VBA : bitte anderen Begriff für einen Befehl
13.03.2003 22:04:47
Ralf Sögel

Hallo,
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 7 And Target.Row >= 12 And _
Target.Row <= 507 And Target.Cells.Count = 1 Then
On Error GoTo ENDE
If ActiveCell = "O" Then
ActiveCell = ""
Cells(ActiveCell.Row + 1, ActiveCell.Column + 1).Activate
Else
ActiveCell = "O"
Cells(ActiveCell.Row + 1, ActiveCell.Column + 1).Activate
End If
End If
ENDE:
End Sub
Gruß Ralf

Re: VBA : bitte anderen Begriff für einen Befehl
13.03.2003 22:05:02
udo

hallo, ja .

Hier unten hab ich das Makro des Steuerbuttons mal in zwei Versionen abgebildet, die erste war die originale, und die zweite habe ich versucht etwas abzuändern um sie auf das neue im tabellenblatt anzupassen. Aber wie gesagt füre ich dies aus geht der Debugger vom Tab.Makro an.

Ich steig da leider nicht durch. Vielleicht könnst du mir nen Rat geben oder erkennst du es, Danke trotzdem mal.

udo

Sub Markierungsfelder_färben_ein()


range("A9").Select
If Selection = "" Then

ActiveCell.FormulaR1C1 = "1"


ActiveSheet.Shapes("Rectangle 6131").Select
Selection.OnAction = "Autofilter_x"

Application.ScreenUpdating = False

range("G12:G507").Select

Selection.Locked = False
Selection.FormulaHidden = False

With Selection.Font
.Name = "Wingdings 2"
.Size = 22
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 55
End With
With Selection.Font
.Name = "Wingdings 2"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 55
End With

Selection.Interior.ColorIndex = 2
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 16
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 16
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 16
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 16
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 16
End With

Selection.Font.ColorIndex = 55


ActiveSheet.Shapes("AutoShape 4905").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 48
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientMixed, msoIntegerMixed, _
0.53

range("H12").Select

Application.ScreenUpdating = True


Else

Application.ScreenUpdating = False

ActiveSheet.EnableAutoFilter = True

Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2


range("A10").Select
ActiveCell.FormulaR1C1 = "6"
ActiveSheet.EnableAutoFilter = True



Selection.AutoFilter Field:=1, Criteria1:="<>"
range("h12:h507").Select

Selection.ClearContents

range("H12").Select

ActiveSheet.Shapes("AutoShape 4905").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 20
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientMixed, msoIntegerMixed, _
0.53

range("A9").Select

Selection.clear

range("G12:G507").Select

Selection.clear
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Interior.ColorIndex = 16
Selection.Font.ColorIndex = 16

range("H12").Select
Application.ScreenUpdating = True


End If

End Sub

Sub Markierungsfelder_färben_ein1()


range("A9").Select
If Selection = "" Then
ActiveCell.FormulaR1C1 = "1"

ActiveSheet.Shapes("Rectangle 6131").Select
Selection.OnAction = "Autofilter_x"

Application.ScreenUpdating = False

range("G12").Select

Selection.Locked = False
Selection.FormulaHidden = False

With Selection.Font

.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 55
End With

Selection.Interior.ColorIndex = 2
Selection.copy

Do Until Cells(16, 7)

'range("G13").Select
Cells(ActiveCell.Row + 1, ActiveCell.Column).Activate
ActiveSheet.Paste
Loop

ActiveSheet.Shapes("AutoShape 4905").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 48
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientMixed, msoIntegerMixed, _
0.53

range("H12").Select

Application.ScreenUpdating = True


Else

Application.ScreenUpdating = False

ActiveSheet.EnableAutoFilter = True

Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2


range("A10").Select
ActiveCell.FormulaR1C1 = "6"
ActiveSheet.EnableAutoFilter = True



Selection.AutoFilter Field:=1, Criteria1:="<>"
range("h12:h507").Select

Selection.ClearContents

range("H12").Select


ActiveSheet.Shapes("AutoShape 4905").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 20
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientMixed, msoIntegerMixed, _
0.53

range("A9").Select

Selection.clear

range("G12").Select
Do Until Cells(16, 7)
Selection.clear
Cells(ActiveCell.Row + 1, ActiveCell.Column).Activate

'Selection.Interior.ColorIndex = 16
'Selection.Font.ColorIndex = 16
Loop

range("H12").Select
Application.ScreenUpdating = True


End If

End Sub

Anzeige
Hallo Ralf, vielen vielen Dank passt super
13.03.2003 22:13:53
udo

Vielen vielen dank euch beiden , hat toll geklappt

Ich habe das Makro aus dem Tabellenblatt gegen das von Ralf getauscht

perfekt,
Vielen Dank

Gruß udo


Re: VBA : bitte anderen Begriff für einen Befehl
13.03.2003 22:15:49
Forum

für Shapes in der Tabelle bin ich nicht der Fachmann. Beim Rest habe ich mal das Select entfernt.


Danke nochmals, habe den Vorschlag v, Ralf genom.
13.03.2003 22:22:52
udo

Hallo , hab mich für Ralf´s Tipp entschieden, vielen Dank trotzdem, war echt nett , Danke euch beiden

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige