Detailfragen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: Detailfragen
von: Jens
Geschrieben am: 28.09.2003 16:10:34

Hallo ,
kann mir jemand helfen=

1. ich habe ein Makro, welches in einer Endlosschleife läuft und eigentlich nur durch drücken der CTRL Taste beendet werden soll.Drücke ich aber mit der Maus doppelt in ein Feld beendet sich das Makro von selber. Wie kann ich dies verhindern? Es werden auch immer automatisch Einträge in dieses Tabellenblatt vorgenommen!!

2. Kennt jemand die Keyboardbytes Belegung für die Funktionstasten F1-F15?
Oder gibt es irgendwo die komplette Liste aller Tasten?

3. Größtes Problem= Ich trage in diesem Makro, wenn ein Event kommt, einen Zeileneintrag aus einer Tabelle, dreispaltig in eine Listbox ein mit Datum und Uhrzeit. Wenn der Platz in der Listbox zu kleinh wird erscheint ja der Scollbalken rechts.Ab dann zeigt er mir nicht mehr den letzten Eintrag ein und der Scrollbalken hüpft immer wieder ein Stück nach oben, selbst wenn man ihn nach unten drückt.
Wie kann ich dieses Problem beheben, weil eigentlich immer der letzte Eintrag zu sehen sein sollte???

Vielen Dank im voraus

Jens

Bild


Betrifft: AW: Detailfragen
von: Matthias G
Geschrieben am: 28.09.2003 16:57:44

Hallo Jens,

zu 1:
Ich gehe davon aus, dass du mit Feld eine Zelle meinst und dass der Doppelklick dazu führt, dass Excel in den Bearbeitungsmodus wechselt.
Abhilfe:
Definiere im Ereignis BeforeDoubleClick den Wert Cancel=True:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub

zu 2:
Wozu brauchst du das? Und wo sind bitte die Tasten F13, F14 und F15?
Es gibt in Excel den Befahl Application.OnKey, damit kannst du Tasten und Tastenkombinationen Makros zuweisen.

zu 3:
da kann ich leider nichts dazu sagen.

Grüße,
Matthias


Bild


Betrifft: AW: Detailfragen
von: Jens
Geschrieben am: 29.09.2003 16:49:17

Hallo,
vielen Dank erstmal für die Antwort, aber

zu 2. das sieht dann ungefähr so aus:
ich habe jetzt nur die kbArray.kbb(17)von ctrl Taste , also 17 = ctrl und Esc =27
und die von Esc.
Ich möchte ihm in der Schleife noch hinzufügen, wenn Taste z.B. "F1" gedrückt, dann gehe nach

Sub XY. Und bei Loop until möchte ich gerne eine andere Taste als Ctrl benutzen zum Abbrechen!!
Declare 

Function GetKeyboardState Lib "User32.dll" _
(kbArray As KeyboardBytes) As LongType KeyboardBytes  
Type KeyboardBytes              
kbb(0 To 255) As Byte   
Dim kbArray As KeyboardBytes   
GetKeyboardState kbArray             
 If DSR = 1 And DCD = 1 Then 
  COM             
   ElseIf DCD = 0 And OFF = 0 Then
    Datenfehler
       ElseIf DCD = 0 And OFF > 0 Then Exit Do
        
          Else
            CLOSECOM                     'Ansonsten Schliessen der Schnittstelle
End If
Loop Until kbArray.kbb(17) And 128   'Bis Ctrl
Mit den Tasten F13- F15 war nartürlich mein Fehler, geistiger Umnachtung!!
Und zu 3. weiss wirklich keiner Hilfe??????????????
 Ich trage das so in die Listbox ein:

Sub Worksheet_Activate()
   
If Sheets("Comtest").Cells(16, 1) = "COM1 ist geöffnet" Then
ListBox1.ColumnCount = 3        
ListBox1.AddItem (Date)
ListBox1.Column(1, ListBox1.ListCount - 1) = Time
ListBox1.Column(2, ListBox1.ListCount - 1) = Sheets("Comtest").Cells(19, 1).Value
Else
Sheets("Sehen").Select
End If
End Sub



Vielen Dank
Jens


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Fehler bei Umwandlung"