Thema Datum  Von Nutzer Rating
Antwort
30.05.2015 13:31:28 Thommy
NotSolved
30.05.2015 18:49:08 Gast78266
NotSolved
30.05.2015 20:57:16 Thommy
NotSolved
30.05.2015 21:08:08 Thommy
NotSolved
31.05.2015 10:48:33 Gast17827
NotSolved
31.05.2015 13:55:38 Chris1807
NotSolved
31.05.2015 15:35:58 Gast26128
NotSolved
31.05.2015 16:53:55 Gast27473
NotSolved
Rot ein Beispiel für Bildlaufleiste als Formular-Steuerelement
31.05.2015 16:56:46 Gast3502
NotSolved
31.05.2015 20:30:15 Thommy
NotSolved
01.06.2015 00:10:01 Gast26168
NotSolved
01.06.2015 00:18:26 Gast4535
NotSolved
02.06.2015 19:32:36 Gast56414
Solved

Ansicht des Beitrags:
Von:
Gast3502
Datum:
31.05.2015 16:56:46
Views:
1100
Rating: Antwort:
  Ja
Thema:
ein Beispiel für Bildlaufleiste als Formular-Steuerelement
'z.B. in Tabelle1
Option Explicit

'für Formularsteuerelemente (d.h. nicht für ActiveX-Steuerelemente gedacht)
Sub ScrollBar_Change()
  
  Const SB1_NAME As String = "Scroll Bar 1" '<- anpassen
  Const SB2_NAME As String = "Scroll Bar 2" '<- anpassen
  
  Dim objSB1 As Object
  Dim objSB2 As Object
  
'>>>> ACHTUNG:
' In diesem Bereich kann es ggf. zum Laufzeitfehler kommen.
' Auf eine Fehlerbehandlung wurde hier jedoch,
' der Übersicht halber, verzichtet.
  
  Set objSB1 = Shapes(Application.Caller)
  
  Select Case objSB1.Name
    Case SB1_NAME:  Set objSB2 = Shapes(SB2_NAME)
    Case SB2_NAME:  Set objSB2 = Shapes(SB1_NAME)
    Case Else
      Exit Sub
  End Select
'<<<<

  If objSB1.Type <> msoFormControl Then Exit Sub
  If objSB1.FormControlType <> xlScrollBar Then Exit Sub
  If objSB2.Type <> msoFormControl Then Exit Sub
  If objSB2.FormControlType <> xlScrollBar Then Exit Sub
  
  Set objSB1 = objSB1.OLEFormat.Object
  Set objSB2 = objSB2.OLEFormat.Object
  
  Dim dblF1 As Double 'Faktor im Bereich: 0..1
  dblF1 = (objSB1.Value - objSB1.Min) / (objSB1.Max - objSB1.Min)
  
  objSB2.Value = Int((objSB2.Max - objSB2.Min + 1) * dblF1 + objSB2.Min)
'  'oder invertiert:
'  objSB2.Value = Int((objSB2.Max - objSB2.Min + 1) * (1 - dblF1) + objSB2.Min)
  
End Sub

Du musst die Namen deiner beiden Bildlaufleisten kennen 7 in Erfahrung bringen und an entspr. Stelle oben im Makro eintragen.

Für das Makro selber braucht man ansich keine Zellenverknüpfung.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
30.05.2015 13:31:28 Thommy
NotSolved
30.05.2015 18:49:08 Gast78266
NotSolved
30.05.2015 20:57:16 Thommy
NotSolved
30.05.2015 21:08:08 Thommy
NotSolved
31.05.2015 10:48:33 Gast17827
NotSolved
31.05.2015 13:55:38 Chris1807
NotSolved
31.05.2015 15:35:58 Gast26128
NotSolved
31.05.2015 16:53:55 Gast27473
NotSolved
Rot ein Beispiel für Bildlaufleiste als Formular-Steuerelement
31.05.2015 16:56:46 Gast3502
NotSolved
31.05.2015 20:30:15 Thommy
NotSolved
01.06.2015 00:10:01 Gast26168
NotSolved
01.06.2015 00:18:26 Gast4535
NotSolved
02.06.2015 19:32:36 Gast56414
Solved