Danuta M. Analityk
Temat: VBA Select Case a wartość tekstowa z dwukropkiem
Witam,pisze sobie cos w VBA i utknęłam w pewnym etapie. Przypuścmy, że w zaznaczonym obszarze mam następujące dane:
Abc: Na.ZWa 1
XyZ: Na.zwa 2
ABC: nazwa 1
Def: coś tam
i teraz chcę aby wszystkiemu co po usunięciu spacji oraz zamianie na małe litery ma postać
abc:na.zwa1 przypisało w tablicy wartość 1
xyz:na.zwa2 przypisało w tablicy wartość 2
pozostałym - przypisało wartość 3
no i napisałam kod taki jak poniżej, w którym nawet - myśląc, że tu pies pogrzebany - sformatowałam komórki zakresu na format tekstowy (mam nadzięję, że właściwego znacznika użyję do wstawnienia kodu poniżej ;):
Dim L_wierszy As Integer
Dim Tekst_Bez_Sp() As String
Dim Tabl_Nr() As Integer
Selection.NumberFormat = "@" 'ustawienie formatu tekstowego dla wybranych komórek
L_wierszy = Selection.Rows.Count
ReDim Tekst_Bez_Sp(L_wierszy, 1) As String
ReDim Tabl_Nr(L_wierszy) As Integer
For x = 1 To L_wierszy
'tworzenie tekstu bez spacji w zmienneju tekst_bez_sp
Tekst_Bez_Sp(x, 1) = LCase(Replace(Selection.Cells(x, 1), " ", ""))
Select Case Selection.Cells(x, 1)
Case "abc:na.zwa1"
Tabl_Nr(x) = 1
Case "xyz:na.zwa2"
Tabl_Nr(x) = 2
Case Else
Tabl_Nr(x) = 3
End Select
Next x
Makro jednak nie działa :( - wszystkiemu przypisuje wartość 3 w tablicy Tabl_nr(x) tak jabym miała jakoś źle wpisane expression po CASE - próbowałam wpisać bez spacji, ale problem się pojawia, bo jest dwukropek i po zatwierdzeniu enterem zapisu on się rozjeżdża (tzn pojawia się przerwa pomiędzy dwukropkiem a resztą)... Czy jest konieczność także zastąpienia dwukropka i kropki niczym czy też gdzie indziej popełniłam błąd? Wolałabym uniknąć zastąpienia jeszcze dwukropka i kropki niczym, bo to kolejne przepisywania zmiennej - a przejśc pętli może być trochę..Ten post został edytowany przez Autora dnia 25.08.13 o godzinie 14:52