Danuta M.

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

konto usunięte

Temat: VBA Select Case a wartość tekstowa z dwukropkiem

Tak na szybko, to wygląda, że jako warunek w Select Case powinno być Tekst_Bez_Sp(x, 1), zamiast Selection.Cells(x, 1).
Danuta M.

Danuta M. Analityk

Temat: VBA Select Case a wartość tekstowa z dwukropkiem

Paweł K.:
Tak na szybko, to wygląda, że jako warunek w Select Case powinno być Tekst_Bez_Sp(x, 1), zamiast Selection.Cells(x, 1).

O kurcze - no tak, chyba masz rację! Zawsze na jakiejś głupocie potrafię się zawiesić ;) ale się z siebie teraz pośmiałam ;)

Następna dyskusja:

[excelo pogotowie] typ prze...




Wyślij zaproszenie do