583 Aufrufe
Gefragt in Windows 10 von addeguddi Experte (2.5k Punkte)

Hallo H.O., schönen Guten Morgen

in dem Makro was du für mich erstellt hast kann ich das verändern? da ich anstatt 6 Spieler die Tabelle jetzt auf 8 Spieler erweitert habe und wenn ich jetzt auf Zelle B2 bis I7 klicke erscheint die 1 aber in den Zellen B8 bis I9 nicht. Das Gleiche ist in den Zellen B21 bis E22 auch nicht. Liegt es daran, dass 6 Zeilen hinzukamen.

Vorher waren es die Zellen B1 bis I7 und B17 bis E21.

Muss ich im Rang Select oder im SmallScroll Down: die Zahl verändern?. Was bedeutet dies.

Für deine Mühe und Hilfe Danke ich jetzt schon einmal.

Gruß

Adde

20 Antworten

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hallo Adde,

hier noch einmal eines der Makros, die ich in deiner Tabelle ergänzt habe:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 

'Bereiche, in dem die 1 eingefügt werden sollen
If Not Intersect(Target, Range("B2:I5,B13:E16")) Is Nothing Then
    Target.Value = 1
    Cancel = True              'Menü nach drücken rechte Maustaste nicht anzeigen
End If

End Sub

Du musst in der Zeile

If Not Intersect(Target, Range("B2:I5,B13:E16")) Is Nothing Then

nur die Bereiche anpassen die zwischen den Anführungszeichen stehen (daher auch der Kommentar "Bereiche, in dem die 1 eingefügt werden sollen "wink)

Also lt. deiner Frage dann so:

If Not Intersect(Target, Range("B1:I7,B17:E21")) Is Nothing Then

Durch den Intersect-Befehl wird das Makro nur in genannten Bereichen ausgeführt. In allen anderen Zellen kannst du auf die rechte Maustaste drücken und es kommt wie gewohnt das Menü.

Gruß

M.O.


 

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Guten Morgen M.O.

habe mich nach den Anweisungen die du mir geschickt hast gehalten und ausgeführt, habe natürlich wieder Fehler gemacht. Bis ich gemerkt habe, das ich für jedes Modul die Zellen eingeben muss. Danach klappte es SUPER:

Vielen lieben Dank für deine Unterstützung.

LG Adde
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo schönen Guten Abend M.O.

kannst du mir noch einmal bitte helfen?

Habe in den Zellen N11 bis N18, R11 bis R18 und X11 bis X18 zahlen. Wenn diese größer als 1 sind, soll die Schriftgröße größer dargestellt werden. Habe einiges probiert aber es funktioniert leider nicht. Denke, dass das nur über VBA geht.

Aber wie du weißt, habe ich davon ganz wenig Ahnung (werde mich aber bemühen, dies auch noch zu lernen).

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

leider kann man die Schriftgröße nicht über die bedingte Formatierung ändern (wie du sicher festgesellt hast).

Hier das gewünschte Makro:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("N11:N18,R11:R18,X11:X18")) Is Nothing Then
  If Target.Value > 1 Then
    Target.Font.Size = 20         'Schriftgröße bei Wert größer 1
   Else
    Target.Font.Size = 11         'Schriftgräße bei Wert kleiner 1
  End If
End If

End Sub


Das Makro gehört in das VBA-Projekt der jeweiligen Tabelle. Falls du dort schon ein entsprechendes Worksheet_Change-Makro stehen hast musst du das entsprechend ergänzen (also ab If Not Intersect bis zum 1. End If in das vorhandene Makro kopieren). Beachte bitte, das das Makro nur funktioniert, wenn die Daten per Hand eingegeben werden. Werden die Werte in den von dir genannten Bereichen z.B. durch Formeln ermittelt, dann muss das Makro angepasst werden.

Die Schriftgröße kannst du natürlich auf deine Bedürfnisse anpassen.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Guten Morgen M.O.

Herzlichen Dank. Super klappt alles.

Gruß Adde
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Guten Morgen M.O.,

leider ist meine vorherige Antwort durch mein schnelles Antworten nicht richtig. Habe erst gesehen nachdem ich geantwortet habe, dass die Schriftgröße sich in den Zellen B11 bis D50 vergrößern und nicht die Zellen die ich wollte. Wahrscheinlich weil dort Hinweise auf anderen Zellenbezug hinterlegt ist. Habe das Erste VBA und das Zweite VBA hochgeladen. 

Für deine Mühe und Hilfe Danke ich Dir im Voraus schon einmal

Enhttps://filehorst.de/d/ctJGAjrid Sub

LG Adde

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

der Link funktioniert leider nicht. Bitte stelle ihn noch einmal ein.

Gruß

M.O.
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Hallo M.O.

Wegen Schriftgröße.habe die Makros von VBA kopiert siehe unten. Die Schriftgröße ändert  sich in den Zellen B11 bis D50 nicht in den Zellen  die Zellen die ich wollte.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lngSpalteA As Long
Dim lngSpalteE As Long
Dim rngZelle As Range
Dim lngSpieler As Long
If Not Intersect(Target, Range("B11:D50")) Is Nothing Then
        'Nummer des Spielers abfragen und 1 abziehen
     lngSpieler = Range("H3").Value - 1
     '1. Spalte des Spielers festlegen
     lngSpalteB = 6 + 3 * lngSpieler
     'letzte Spalte des Spielers festlegen
     lngSpalteE = lngSpalteB + 0
     'Nun Ergebnis-Spalten durchlaufen und nächste freie Zelle suchen
     For Each rngZelle In Range(Cells(9, lngSpalteB), Cells(82, lngSpalteE))
      If rngZelle = "" Then
       rngZelle.Value = Target.Value
       Exit Sub
      End If
     Next rngZelle
End If   
Das ist das zweite Makro das angepasst werden soll, in den Zellen steht zB.= AM2
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("s11:s18,w11:w18,aa11:aa18,v21:v28,x21:x28")) Is Nothing Then
  If Target.Value > 1 Then 
    Target.Font.Size = 16         'Schriftgröße bei Wert größer 1
   Else
    Target.Font.Size = 11         'Schriftgräße bei Wert kleiner 1
  End If
End If

https://filehorst.de/d/cHioezsl

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

habe als überlegt warum das mit dem Vergrößern nicht in den Zellen die ich wollte geht aber in den Zellen B11 bis D50, nun ich denke in diesen Zellen sind Standartzahlen und in die anderen Zellen bestehen aus Währung (EURO).

Kann es daran liegen?

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

du hast leider ja nur den Code als WORD-Dokument hochgeladen und nicht eine Excel-Datei.

Für das Makro spielt es keine Rolle, ob die Zahl als normale Zahl oder Währung formatiert ist.

In den Zellen B11 bis D11 dürfte sich die Schriftgröße eigentlich nicht ändern.

Du schreibst:

in den Zellen steht zB.= AM2

Wenn du damit meinst, dass z.B. in Zelle S11 die Formel =AM2 dann kann mein gepostetes Makro nicht funktionieren, da das Change-Event nicht auf Formelberechnungen reagiert (siehe meine Anmerkung oben. Das müsste dann anders gelöst werden. Wenn du z.B. in Zelle AM2 die Zahl mit Hand reinschreibst, dann musst du die Zelle AM2 überwachen. Wird auch der Wert in AM2 mit einer Formel berechnet, dann geht das aber auch nicht. Dann müsste man sich das alles mal ansehen.

Gruß

M.O.

...