Excel VBA - Sammensat Script
Hej folkens jeg prøver at få dette script til at virke jeg er helt ny i VBA og er sgu lost lige nu håber der er en der kan løse mit problem jeg har sat de sidste af min point på svaret så håber i syntes det er nok.. nå here we go'Jeg har lavet kommentar igennem scriptet for at gøre det mere forståelig hvad jeg prøver at gøre.
1. script tager celle bogstavet fra den celle der matcher min søgning
2. så skal den tage celle tallet fra celle navnet i ved match i næste søgning(er ikke sikker på den er rigtig sat sammen)
3. sammensætter de 1 & 2 så man få en celle location f.eks A22 for derefter at +1 i den celle.(er ikke sikker på den er rigtig sat sammen)
4.hvis den ikke har fundet det den søgte i ovenstående køre den det næste script som jeg ved virker men jeg ved ikke helt hvordan den skal sammensættes med ovenstående.
(jeg ved godt det er ret meget jeg ber' om hjælp til her men jeg har siddet og gloet mig blind på det her igennem de sidste 3 dage så er pænt lost nu :)
Sub OK()
Dim SearchString As String
Dim cl As Range
Dim FirstFound As String
Dim Firstletter As String
Dim Firstnumber As String
Dim sh As Worksheet
Dim x As Variant
Dim y As Variant
Dim sammensat As Variant
SearchString = Sheets("Program").Range("H6")
Application.FindFormat.Clear
' loop through all sheets
With Sheets("Hoved Domæne Katagori")
' Find first instance on sheet
Set cl = Cells.Find(What:=SearchString, _
After:=Cells(1, 1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not cl Is Nothing Then
' if found, remember location
adr = cl.Address
' Tager start bogstavet fra cell Navnet
x = Split(adr, "$")
Firstletter = x(1)
SearchString = Sheets("Program").Range("E5")
Application.FindFormat.Clear
' loop through all sheets
With Sheets("Hoved Domæne Katagori")
Set cl = Cells.Find(What:=SearchString, _
After:=Cells(1, 1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not cl Is Nothing Then
' if found, remember location
adr = cl.Address
y = Split(adr, "$")
' Tager kun nummeret fra cell Navnet (ikke sikker på virker)
Firstnumber = y(2)
Do
' Skal sammensæt de to statments x+y så det bliver til et cell navn hvor der skal +1 i
sammensat = x & y
' +1 i cell (sammensat)
.Range(sammensat) = .Range(sammensat) + 0.01
End With
' Efterfølgende code virker men kan ikke få ovenstående til at virke med sammensætning
' af nedsåtende script så hvis ovenstående ikke er tilsted skal den gå videre med nedsåtende script
SearchString = Sheets("Program").Range("H6")
Application.FindFormat.Clear
' loop through all sheets
With Sheets("Priotering Domæne")
' Find first instance on sheet
Set cl = .Cells.Find(What:=SearchString, _
After:=.Cells(1, 1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not cl Is Nothing Then
' if found, remember location
FirstFound = cl.Address
' Plus one in found cell
Do
.Range(cl.Address).Offset(0, -1) = .Range(cl.Address).Offset(0, -1) + 0.01
Set cl = .Cells.FindNext(After:=cl)
' repeat until back where we started
Loop Until FirstFound = cl.Address
End If
End With
End If
End Sub
Hvis det er helt elendigt så forstår jeg hvis det ikke er til at gøre men så takker jeg for i bare gad at kigge forbi :)
Med venlig hilsen
Lasse