Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Skrócony regulamin

[VBA] jak rozdzielić ciąg i przypisać wartości do zmiennych

Idź do strony 1, 2  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
tikcop1



Dołączył: 16 Lut 2008
Posty: 8

PostWysłany: Pią Lut 17, 2012 10:53 pm      Temat postu: [VBA] jak rozdzielić ciąg i przypisać wartości do zmiennych Odpowiedz z cytatem Pisownia

Witam

Proszę o podpowiedź jak rozdzielić ciąg na dwa człony

" 1,000.46 @ 26,000.13 "

Proszę zwrócić uwagę iż 1,006.46 to ilość a 26,000.13 to cena. Znak rozdzielający to @ czyli małpka. Są też spacje z lewej i prawej strony.

Z góry dziękuje
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marcin_an
Site Admin


Dołączył: 26 Maj 2005
Posty: 17278
Skąd: z drugiej strony Kabla

PostWysłany: Pią Lut 17, 2012 10:56 pm      Temat postu: Odpowiedz z cytatem Pisownia

Split
_________________
Matematyka to taki twór, który pozwala opisać sokowirówkę jako urządzenie pobierające ujemne odpadki i produkujące z nich sok.
"Lameria atakuje" | RTFM | UMLet - edytor UML inaczej | Wykłady ks.Pawlukiewicza
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tikcop1



Dołączył: 16 Lut 2008
Posty: 8

PostWysłany: Pią Lut 17, 2012 11:39 pm      Temat postu: Odpowiedz z cytatem Pisownia

witam

A czy mógłbym prosić dokładniej? tzn jak napisać
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
plota



Dołączył: 31 Lip 2011
Posty: 36

PostWysłany: Sob Lut 18, 2012 12:06 am      Temat postu: Odpowiedz z cytatem Pisownia

Jeżeli tekst jest w komórce A1 to może tak:
Kod:
Dim str As String
Dim a As Single
Dim b As Single
Dim liczba As Integer
Dim dlugosc As Integer
Dim str1 As String


str = Range("A1")
liczba = InStr(str, "@")
dlugosc = Len(str)

str1 = Left(str, liczba - 1)
str1 = Trim(str1)
If InStr(str1, ",") > 0 Then
str1 = Replace(str1, ",", "")
End If
a = Val(str1)

str1 = Right(str, dlugosc - liczba - 1)
str1 = Trim(str1)
If InStr(str1, ",") > 0 Then
str1 = Replace(str1, ",", "")
End If
b = Val(str1)



PS
Z tym że ja specjalistą nie jestem więc nie musisz się kierować tym co napisałem ;)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
MDziubek



Dołączył: 04 Paź 2011
Posty: 367

PostWysłany: Sob Lut 18, 2012 10:42 am      Temat postu: Odpowiedz z cytatem Pisownia

Kod:

dim ciag as String
dim war() as string
dim lewa as string
dim prawa as string

ciag=" 1,000.46 @ 26,000.13 "
war = split(ciag,"@")
lewa = Trim(war(0))
prawa = Trim(war(1))



@Edit: poprawiony separator w funkcji split.

_________________
Pozdrawiam
Michał
Programista Access (blog)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tikcop1



Dołączył: 16 Lut 2008
Posty: 8

PostWysłany: Wto Lut 21, 2012 8:51 pm      Temat postu: Odpowiedz z cytatem Pisownia

Bardzo dziękuje za podpowiedzi.

Pozdrawiam
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
kania
Gość





PostWysłany: Czw Mar 22, 2012 7:46 pm      Temat postu: SQL zapis split trim Odpowiedz z cytatem Pisownia

sorki ze się wtracam
Ale jak wyglada zapis SQL
jesli chcemy to zrobic dla
wszystkich komorek w tabeli?

i wynik podziału ciągu z lewej strony
Chcemy wrzucic do komorki-1
A wynik podzialu prawej strony
Chcemy wrzucic do komorki-2?
Powrót do góry
sweet_dreams



Dołączył: 31 Maj 2005
Posty: 284
Skąd: Łódź

PostWysłany: Czw Mar 22, 2012 9:28 pm      Temat postu: Odpowiedz z cytatem Pisownia

Jakie konkretnie rozszerzenie SQL-a masz na myśli?

Jeżeli chodzi o T-SQL to przykład znajdziesz poniżej
SQL Server Helper - Split name

Jeżeli chodzi o PL/SQL to popróbuj z funkcjami substr oraz instr. Poza tym możesz skorzystać z google, w czasach gdy więcej programowałem to pamiętam że znalazłem w necie gotową funkcję i ją dostosowałem do swoich potrzeb.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
kania
Gość





PostWysłany: Czw Mar 22, 2012 9:35 pm      Temat postu: Odpowiedz z cytatem Pisownia

sweet_dreams napisał:
Jakie konkretnie rozszerzenie SQL-a masz na myśli?


chodziło o SQL accessa 2003 :)
Powrót do góry
sweet_dreams



Dołączył: 31 Maj 2005
Posty: 284
Skąd: Łódź

PostWysłany: Czw Mar 22, 2012 10:12 pm      Temat postu: Odpowiedz z cytatem Pisownia

Zależy jak wygląda ciąg znaków który chcesz podzielić. Poniżej przykład gdy w polu Osoba posiadasz imię i nazwisko oddzielone spacją.

Kod:

SELECT Left([Osoba],InStr(1,[Osoba]," ")-1) AS Imie
, Mid([Osoba],(InStrRev([Osoba]," ")+1)) AS Nazwisko
FROM tblOsoby;

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.24857 sekund, zapytan = 7
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie |