08. december 2004 - 18:00Der er
4 kommentarer og 1 løsning
Forsættelse af spørgsmål 568912 vælg mellem to MsgBox
Makroen neden for funger perfekt, men jeg vil gerne have den til også at kunne kende forskel på to typer nr. et der kun består af tal og et der består af bogstaver og tal, er det muligt????
For når et Jobnr der indeholder bogstaver, vil jeg gerne kunne hente oplysninger fra Projektmappen JOBnrMed_Tekst og vise dem i MsgBox, men kun fra følgende kolonner i projektmappen JOBnrMed_Tekst. A, Jobnr B, Tekst Findes den nye ”type” Jobnr ikke (når det er skrevet ind i C8-C20) når jeg dobbelt klikker på Jobnr, vil jeg gerne have følgende meddelelse vist i en MsgBox, ” Du har skrevet et forkert Projektnr der ikke findes.”.
Læs evt forklaring i spørgsmål 568912
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim wkbJobs As Workbook Dim wksJobs As Worksheet Dim rCurReg As Range Dim rCell As Range Dim stTarget As String Dim MyFound As Boolean ' DoubleClick på projektnr. ‘If IsEmpty(Target) Then GoTo ProgErr ‘On Error GoTo ProgErr
If Not Intersect(Target, Range("C8:C500")) Is Nothing Then Application.ScreenUpdating = False Cancel = True Set wkbJobs = Application.Workbooks.Open(Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "JOBnrMed_Tekst.xls") Set wksJobs = wkbJobs.Worksheets(1) Set rCurReg = wksJobs.Range("A1").CurrentRegion Set rCurReg = rCurReg.Offset(1, 0).Resize(rCurReg.Rows.Count - 1) stTarget = UCase(Trim$(CStr(Target.Value))) For Each rCell In rCurReg.Columns(1).Cells If UCase(Trim$(CStr(rCell.Value))) = stTarget Then If stTarget Like "[A-Z]*" Then MsgBox "JobNr.: " & Target.Value & vbCrLf & _ "Tekst: " & rCell.Offset(0, 1).Value & vbCrLf, _ vbInformation, "Projekt information" MyFound = True Exit For Else Str1 = "JobNr.: " & Target.Value & vbCrLf & _ "Tekst: " & rCell.Offset(0, 1).Value & vbCr & _ "VHC: " & rCell.Offset(0, 2).Value & vbCr & _ "Ans. rep.: " & rCell.Offset(0, 3).Value & vbCr & _ "Job prior. :" & rCell.Offset(0, 4).Value & vbCr & _ "KKSnr : " & rCell.Offset(0, 5).Value & vbCr & _ "Dato : " & rCell.Offset(0, 6).Value & vbCr MsgBox Str1, vbInformation, "Projekt information" MyFound = True Exit For End If End If Next rCell
wkbJobs.Close SaveChanges:=False If MyFound = False Then GoTo ProgErr GoTo CleanUP End If
ProgErr:
MsgBox "”Enten har du skrevet forkert Jobnr, der ikke findes i D7i," & vbCr & _ "eller også findes Jobnr ikke i VHC for Værksted.”.!", _ vbCritical + vbOKOnly, "Systeminformation"
CleanUP: Set wkbJobs = Nothing Set wksJobs = Nothing Set rCurReg = Nothing Set rCell = Nothing Application.ScreenUpdating = True End Sub
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim wkbJobs As Workbook Dim wksJobs As Worksheet Dim rCurReg As Range Dim rCell As Range Dim stTarget As String Dim MyFound As Boolean ' DoubleClick på projektnr. 'If IsEmpty(Target) Then GoTo ProgErr 'On Error GoTo ProgErr
If Not Intersect(Target, Range("C8:C500")) Is Nothing Then Application.ScreenUpdating = False Cancel = True Set wkbJobs = Application.Workbooks.Open(Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "JOBnrMed_Tekst.xls") Set wksJobs = wkbJobs.Worksheets(1) Set rCurReg = wksJobs.Range("A1").CurrentRegion Set rCurReg = rCurReg.Offset(1, 0).Resize(rCurReg.Rows.Count - 1) stTarget = UCase(Trim$(CStr(Target.Value))) For Each rCell In rCurReg.Columns(1).Cells If UCase(Trim$(CStr(rCell.Value))) = stTarget Then If Not IsNumeric(stTarget) Then MsgBox "JobNr.: " & Target.Value & vbCrLf & _ "Tekst: " & rCell.Offset(0, 1).Value & vbCrLf, _ vbInformation, "Projekt information" MyFound = True Exit For Else Str1 = "JobNr.: " & Target.Value & vbCrLf & _ "Tekst: " & rCell.Offset(0, 1).Value & vbCr & _ "VHC: " & rCell.Offset(0, 2).Value & vbCr & _ "Ans. rep.: " & rCell.Offset(0, 3).Value & vbCr & _ "Job prior. :" & rCell.Offset(0, 4).Value & vbCr & _ "KKSnr : " & rCell.Offset(0, 5).Value & vbCr & _ "Dato : " & rCell.Offset(0, 6).Value & vbCr MsgBox Str1, vbInformation, "Projekt information" MyFound = True Exit For End If End If Next rCell If MyFound = False Then If Not IsNumeric(stTarget) Then MsgBox "Du har skrevet et forkert Projektnr der ikke findes." Else MsgBox "”Enten har du skrevet forkert Jobnr, der ikke findes i D7i," & vbCr & _ "eller også findes Jobnr ikke i VHC for Værksted.”.!", _ vbCritical + vbOKOnly, "Systeminformation" End If End If wkbJobs.Close SaveChanges:=False ProgErr: CleanUP: Set wkbJobs = Nothing Set wksJobs = Nothing Set rCurReg = Nothing Set rCell = Nothing Application.ScreenUpdating = True End If End Sub
jeps her er et svar. har eksperimenteret lidt med at hente data een gang istedet for at åbne den anden projektmappe flere gange.. jeg sender når den funker ok..
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.