01. marts 2005 - 14:52Der er
3 kommentarer og 1 løsning
Bruger input til VBA script
Hej,
Jeg sidder og roder med et lille VBA program til brug i Excel. Problemet er at jeg gerne fra scriptet vil give brugeren mulighed for at komme med input med musen -noget i retning af en dialogbox der siger "markér første celle der skal formateres" hvorefter brugeren kan vælge en celle fra det åbne ark.
Når brugeren har valgt en celle skal programmet naturligvis arbejde videre med valget.
Så vidt jeg kan se kan input ikke anvendes til det her -hvis den kan bliver du nok nødt til at udvide beskrivelsen lidt....
Det jeg egentlig ønsker, scriptet prompter brugeren for en action og derefter overgiver kontrollen til Excel således at brugeren kan markerer en celle. Efter brugeren har valgt en celle, skal scriptet fortsætte udførslen.
Noget i retning af nedenstående.
>dummy = MsgBox("vælg en celle", vbInformation) >vent på brugeren vælger en celle >set cell = ActiveCell >gør noget med cell
Mit problem er linien "vent på brugeren vælger en celle"...
Jeg har fundet en løsning jeg kan bruge -ikke det mest elegante men....
Sub Dummy_Function() Call Active_Function(True) End Sub
Sub Active_Function(Mode As Boolean) Static Semafore As Boolean Dim dummy As Variant
If Semafore = True Then dummy = MsgBox("Du har markeret " & ActiveCell.Address, vbInformation) Semafore = False End If If Mode = True Then dummy = MsgBox("Vælg en celle ", vbOKCancel) If dummy = 1 Then Semafore = True End If End If End Sub
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Call Active_Function(False) End Sub
Dummy funktionen er der kun fordi man tilsyneladende ikke kan afvilke funktioner med variabeloverførsel som makroer fra Excel -> man kan ikke tilkytte den til en knap f.eks.
Jeg lader spg stå lidt, det kan være nogen har en bedre / mere elegant løsning.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.