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

Frage zu Makro zum Kontrollkästchen erzeugen?

Frage zu Makro zum Kontrollkästchen erzeugen?
20.12.2005 10:45:06
Oliver
Hallo an alle,
ich hätte da mal eine Frage. Ich möchte mit nachfolgendem Code Kontrollkästchen aus der Symbolleiste Formular erzeugen. Das funktioniert auch soweit. Nun möchte ich, dass diese immer in der Zeilenmitte in Zelle A positioniert werden. Ich gebe also die Zahl 10 für die Position vor und addiere dann immer 12,75 dazu (die Zeilenhöhe beträgt 12,75). Das funktioniert nun leider immer nur für die ersten paar Kontrollkästchen. Dann verschiebt sich die ganze Geschichte nach unten. Dazu nu die Frage, warum ist das so? Weiß dass jemand und kann mir das erklären? Wäre super, denn ich grüble schon eine Ewigkeit darüber und auch auf Herbers Tutorial CD habe ich dafür keine Erklärung gefunden.
Option Explicit

Sub Kontrollkästchen_einfügen()
Dim Wiederholungen As Integer, Position As Integer
Application.ScreenUpdating = False
Position = 10
For Wiederholungen = 1 To 100
With ActiveSheet.CheckBoxes.Add(17.25, Position, 24, 17.25)
.LinkedCell = "$A$" & Wiederholungen + 1
.Characters.Text = ""
End With
Position = Position + 12.75
Next
End Sub

Danke Euch schon mal im Voraus,
Oliver S.

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

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Makro zum Kontrollkästchen erzeugen?
20.12.2005 10:55:54
Nepumuk
Hallo Oliver,
so:
With ActiveSheet.CheckBoxes.Add(Columns(1).Width / 2 - 8.625, Position, 24, 17.25)
8,625 ist die halbe Breite der Box.
Gruß
Nepumuk

AW: Frage zu Makro zum Kontrollkästchen erzeugen?
20.12.2005 10:56:05
Josef
Hallo Oliver!
Du deklarierst "Postition As Integer" und weist dann einen Wert "12.75" zu!
Integer sind aber Ganzzahlen, so das du eigentlich "12" zuweist!
Deklariere es als Double!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Falscher Dampfer
20.12.2005 11:06:44
Nepumuk
Hi,
wieder nicht richtig hingeschaut. Dann so:
Sub Kontrollkaestchen_einfuegen()
    Dim Wiederholungen As Integer
    Application.ScreenUpdating = False
    For Wiederholungen = 1 To 100
        With ActiveSheet.CheckBoxes.Add(Columns(1).Width / 2 - 8.625, _
                Rows(Wiederholungen + 1).Top + 11, 24, 17.25)
            .LinkedCell = "$A$" & Wiederholungen + 1
            .Characters.Text = ""
        End With
    Next
End Sub

Gruß
Nepumuk

Anzeige
Aufgabe gelößt!
20.12.2005 11:31:08
Oliver
Hallo Ihr beiden,
Danke Euch für die Antwort. Josef's Lösung hat mich weitergebracht. Tja, manchmal steckt der Teufel im Detail. Zum Anfang hatte ich da noch eine Zahl ohne Komma und deshalb die Variable "Position" als Integer deklariert. Dann habe ich die Zahl geändert, aber nicht den Typ der Variablen geändert. Aber dank Euch, wird solch ein Fehler sofort erkannt.
Nochmals danke und einen schönen Tag noch,
Oliver S.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige