Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1392to1396
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
VBA Schriftgröße ändern
27.11.2014 09:55:14
Bastian
Hallo zusammen,
ich benutze folgenden Code um in meiner Arbeitsmappe die Schriftgröße bei einer bestimmten Bedingung zu ändern:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
For Each objCell In Target
If Not Intersect(objCell, Range("A1:COD150")) Is Nothing Then
With objCell
Select Case .Value
Case 99 To 999
.Font.Name = "Calibri"
.Font.Size = 7
.Font.Bold = False
End Select
End With
End If
Next
End Sub

Dies funktioniert auch ganz gut. Nur ich möchte jetzt, dass diese ganze Funktion erst bei Klick auf einen Commandbutton ausgelöst wird. Also ich möchte den Code in einen Commandbutton integrieren. Leider steh ich total auf dem Schlauch wie ich das bewerkstelligen kann.
Könnt ihr mir da weiterhelfen?
Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Schriftgröße ändern
27.11.2014 10:02:07
yummi
Hallo Bastian,
Du musst den Code in ein Modul auslagern (anstatt Private Sub Work... schreibst Du function deinName
Dann legst du deinen Commandbutton an, weißt diesem ein neues Makro zu.
Inhalt
deinName
Damit rufst du dann deine function auf und es wird nur noch auf Buttonklick ausgeführt.
Gruß
yummi

AW: VBA Schriftgröße ändern
27.11.2014 11:49:04
Bastian
Hallo,
ich habe den Code jetzt so:
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
Call Schr
End If
End Sub
Function Schr(ByVal Target As Range)
Dim objCell As Range
For Each objCell In Target
If Not Intersect(objCell, Range("A1:COD150")) Is Nothing Then
With objCell
Select Case .Value
Case 99 To 999
.Font.Name = "Calibri"
.Font.Size = 7
.Font.Bold = False
End Select
End With
End If
Next
End Function leider funktioniert das ganze nicht. Er sagt mir "Argument ist nicht optional"

Anzeige
AW: VBA Schriftgröße ändern
27.11.2014 12:17:15
yummi
Hallo Bastian,
wofür willst du denn das ByVal Target as Range haben, wenn du es eh nicht benutzt?
Mach mal die Zeile Function Schr(ByVal Target As Range)
so
Function Schr
Gruß
yummi

AW: VBA Schriftgröße ändern
27.11.2014 14:54:50
Klaus
Hallo yummi,
For Each objCell In Target

funktioniert dann aber nicht mehr!
Bastian, wenn der Code nicht mehr automatisch triggert muss er ja auch keine Function mehr sein. Das sollte besser funktionieren (ungetestet)

Sub Schr()
Dim objCell As Range
For Each objCell In Selection
If Not Intersect(objCell, Range("A1:COD150")) Is Nothing Then
With objCell
Select Case .Value
Case 99 To 999
.Font.Name = "Calibri"
.Font.Size = 7
.Font.Bold = False
End Select
End With
End If
Next objCell
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: VBA Schriftgröße ändern
27.11.2014 16:53:39
Bastian
Danke euch, jetzt funktioniert es so wie ich gewollt habe :)

Danke für die Rückmeldung! owT.
27.11.2014 18:23:17
Klaus
.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen