Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 69730 Skopiuj do schowka Nietypowe wykorzystanie operatora MID
Autor Wiadomość
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 06-01-2021, 01:35   Nietypowe wykorzystanie operatora MID

Nie ma co się rozpisywać, tylko testować kod.
Kod:
Sub Przykład1()
Dim strTekst As String
    strTekst = "Exc...Forum"

    Mid(strTekst, 4, 3) = "el "

    MsgBox strTekst
End Sub


Sub Przykład2()

Dim strTekst As String
    strTekst = "Uzupełnienie k..... przez f...... MID"

    Mid(strTekst, 15, 5) = "ropek"
    Mid(strTekst, 28, 6) = "unkcję"
    MsgBox strTekst

End Sub
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 397714 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 775 razy
Posty: 4174

Wysłany: 06-01-2021, 03:28   

Działają oba.
.
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 397720 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 2033 razy
Posty: 6431
Wysłany: 06-01-2021, 07:29   

U mnie też działa poprawnie. Myślę, że jeśli może tu występować jakiś problem, to w związku z możliwą automatyczną konwersją trzech kropek na jeden znak wielokropka. Ale to u mnie dotyczy tylko komórek arkusza.
Jeśli tekst źródłowy wprowadzę do komórki i stamtąd ją pobiorę do VBA, to wtedy wynik jest błędny.
ID posta: 397722 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 06-01-2021, 08:37   

Przepraszam kolegów, chyba źle się wyraziłem.
U mnie też działa. Zapodałem ten kod jak ciekawostkę.

Maciej Gonet napisał/a:
Jeśli tekst źródłowy wprowadzę do komórki i stamtąd ją pobiorę do VBA, to wtedy wynik jest błędny.
Macieju poniższa konstrukcja podaje Ci błędne wyniki ?
Kod:
Sub Przykład1()
Dim strTekst As String
    strTekst = Range("A1").Value ' w komórce A1 mamy "Exc...Forum"

    Mid(strTekst, 4, 3) = "el "

    MsgBox strTekst
End Sub
U mnie jest ok.
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 397724 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 2016
Pomógł: 2033 razy
Posty: 6431
Wysłany: 06-01-2021, 09:03   

To jest kwestia ustawień w opcjach Autokorekty.
Ja miałem domyślnie ustawione, żeby zamieniał 3 kropki na wielokropek, wtedy Twój kod w wersji 2 dawał wynik błędny.
Ale jeśli usunie się ten wariant autokorekty, to wszystko działa poprawnie.
ID posta: 397726 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 36 razy
Posty: 253
Wysłany: 10-01-2021, 20:20   Re: Nietypowe wykorzystanie operatora MID

W zasadzie w tytule jest błąd, bo... to jest typowe użycie operatora, a w zasadzie instrukcji Mid, czy jak tam "statement" z angielskiego przetłumaczyć.

Natomiast najczęściej używa się funkcji Mid. Te dwa "Midy" nie mają ze sobą nic wspólnego oprócz nazwy. W tym miejscu warto polecić starą, ale zawierającą sporo takich mało używanych ciekawostek książkę VBA Developer Handbook (Ken Getz, Mike Gilbert).
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 398005 Skopiuj do schowka
 
 
apollo
ExcelSpec


Pomógł: 1306 razy
Posty: 4517
Wysłany: 10-02-2021, 23:58   

http://www.excelforum.pl/...m?highlight=mid

W moich postach o ID = 311580 i ID = 311609 miałem kod
Kod:

For k = 1 To UBound(Arr)
        Mid(strSource, k, 1) = Arr(k, 1)    ' (A)
Next k
ID posta: 400131 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie 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
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe