[syntax=vbscript]Sub Rozbij() ow = Cells(Rows.Count, "B").End(xlUp).Row w = 4 For x = 4 To ow r = Split(Cells(x, "B"), ",") For y = 0 To UBound(r) Cells(w + y, "J") = r(y) Cells(w + y, "K") = Cells(x, "C") Next w = w + y Next End Sub [/syntax]
[syntax=vbscript]Sub Liczby() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 2 To ow a = Split(Cells(x, 1), ",") b = UBound(a) For y = 0 To b Cells(x, a(y) + 2) = "X" Next Next End Sub [/syntax]
[syntax=vbscript]Sub Podziel() Set a = Sheets("Arkusz2") Sheets("Arkusz1").Select y = 1 ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 2 To ow a.Cells(y, 1) = Cells(x, 1) p1 = Split(Cells(x, 2), "|") p2 = Split(Cells(x, 3), "|") b = UBound(p1) For i = 0 To b a.Cells(y, i + 2) = p1(i) a.Cells(y, i + b + 3) = p2(i) Next If b = 0 Then a.Cells(y, 2)...
[syntax=vbscript]Sub Linki() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow a = Split(Cells(x, 1), ",") u = UBound(a) For y = 0 To u Cells(x, y + 3) = a(y) Next Next End Sub [/syntax]
[syntax=vbscript]Sub Rozdziel() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 2 To ow a = Split(Cells(x, 1), ".") For y = 2 To 4 Cells(x, y) = a(y - 2) Next Next End Sub [/syntax] Trzeba tylko ustawić format kolumn B:D na tekstowy.
[syntax=vbscript]Sub Wytnij() Sheets("Wejście").Select w = 1 For x = 1 To Cells(Rows.Count, "A").End(xlUp).Row a = Split(Cells(x, 1), ",") For y = 0 To UBound(a) Sheets("Wyjście").Cells(w, 1) = Left(a(y), InStr(1, a(y), "/") - 1) w = w + 1 Next Next End Sub [/syntax]
(ew. makro) Pobaw się tym: [syntax=vb]Sub Podziel() For x = 1 To Cells(Rows.Count, "A").End(xlUp).Row s = Split(Cells(x, 1), "_") For y = 0 To UBound(s) Cells(x, y + 2) = s(y) Next Next End Sub [/syntax]
Ja podpowiem że jak już się wząłeś za makro to jest funkcja Split która rozdziela ciągi po danym znaku/znakach np: tbl = Split(Cells(1, 1), "_") dana = tbl(0) dana2 = tbl(1) Czyli w twoim przypadku: kawalek=Split("700 x 600"," x ") Wynik=Val(kawalek(0)) * Val(kawalek(1))
Bede bardzo wdzieczny za jakiegos tzw. gotowca. Jako nowo-zarejestrowanemu w formie promocji :) Rozciągnij kolumny na jakieś 250 pikseli, będzie lepiej widać (sam się złapałem na spacjach). Spróbuj[syntax=vb]Sub proba() Dim tbl1 As Variant, tbl2 As Variant, test As Boolean Dim i As Long, j As Long, w As Long w = 2 Range("C2:C" & UsedRange.Rows.Count).ClearContents...
Dodano po 19 Excel / VBA / wstawianie i kopiowanie wierszy z rozdzieleniem wartości
Po mojemu najprościej przepisać wszystko do drugiego arkusza. Np[syntax=vb]Sheets(2).Cells.ClearConten... ile = Range("A65536").End(xlUp).Row wrs = 1 For i = ile - 49 To ile linia = Split(Cells(i, 1), ";") For j = 0 To UBound(linia) Sheets(2).Cells(wrs, j + 1) = linia(j) Next wrs = wrs + 1 Next[/syntax]Umieść na końcu swojej procedury (po End With, przed...
Loker podpowiada dobrze. Kropkę trzeba na wstępie usunąć, następnie split i do tablicy. Np (dane od A1 w dół)[syntax=vb]Sub InstrNr() wrs = 1 Do While Cells(wrs, 1) <> "" Cells(wrs, 1) = Replace(Cells(wrs, 1), ".", "") tablica = Split(Cells(wrs, 1), " ") For i = 0 To UBound(tablica) If IsNumeric(tablica(i)) Then Cells(wrs, 1) = tablica(i) * 1...
Och, aż tak skomplikowane toto nie jest ;) [syntax=vbscript]'przykład dla kopiowania w tym samym arkuszu z 1-szej do 11-tej Columns(11).ClearContents 'czyścimy dane w kolumnie docelowej Do While Cells(w, 1) <> "" temp = Split(Cells(w, 1), "||") For i = 0 To UBound(temp) If InStr(temp(i), "SAP") > 1 Then Cells(w, 11) = Cells(w, 11) & temp(i)...
Zmodyfikowany kod: [syntax=vbscript]Sub Grupy2() Dim ow As Long, x As Long, nr As Long, afterP As Boolean ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow If InStr(Cells(x, "A"), "/") > 0 Then ' czy jest "/" ? Select Case Cells(x, "E") Case "P2" nr = Split(Cells(x, "A"), "/")(1) ' pozycja w grupie Cells(x, "H") = IIf(nr = 1 Or afterP, "B",...
[syntax=vbscript]Sub Tlumaczenie() Set s = Sheets("Słownik") ows = s.Cells(Rows.Count, "A").End(xlUp).Row Sheets("Arkusz1").Select ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow t = "" b = Split(Cells(x, 1), ",") For y = 0 To UBound(b) oryg = Trim(b(y)) On Error Resume Next c = Application.Match(oryg, s.Range("A1:A" & ows), 0) If c > 0 Then...
A czy nie prościej byłoby rozbić ciąg Split'em wg spacji? Powstanie 5-cio elementowa tablica, gdzie druga i czwarta wartość to nasze liczby... Przyznam że nie znałem funkcji split ale rzeczywiście to najszybszy sposób (jedna linijka kodu) i prosty w odwołaniach. ( Na marginesie - dla mniej zorientowanych - pierwszy element tablicy ma "index" 0 ) Sub...
[syntax=vb] Open "C:\Plik.csv" For Input As #1 While Not EOF(1) Line Input #1, Linia a = Split(Linia, ";") Cells(x, 1) = a(1) x = x +1 Wend [/syntax] Idź tym tropem.
Jak widać nie każdy lubi łowić ryby ;P Zwiększasz tylko numer dla ostatniej pozycji - dla VBA to co masz w komórce nie jest liczbą,a tekstem. Musisz go najpierw rozdzielić funkcją Split() po myślniku, następnie w ostatnim elemencie tablicy zwiększyć liczbę o jeden i na koniec - "skleić" tablicę na powrót w wymaganym formacie. Jak przedmówca wspomniał...
Niestety nie zobaczę twojego pliku (pobieranie zabronione), ale mam dla ciebie materiał do przemyśleń: [syntax=vbscript] Private Sub testEl() Dim y As Long, i As Integer, V As Integer, v1 As Integer Dim Tb() As String y = 2 Do While (Cells(y, 1) <> "") Tb = Split(Cells(y, 1), " ") V = 0 For i = LBound(Tb) To UBound(Tb) Step 2 Select Case Tb(i...
[syntax=vbscript]Sub Konwersja() With Application.FileDialog(msoFileDialogFold... .Title = "Wybierz folder z plikami CSV" .InitialFileName = Environ("userprofile") & "\Desktop" If .Show = -1 Then f = .SelectedItems(1) End With If f = "" Then Exit Sub x = "\PlikiExcel" If Dir(f & x, vbDirectory) = "" Then MkDir (f & x) csv = f &...
[syntax=vbnet]Sub Rozbij() Sheets("Arkusz1").Select ow = Cells(Rows.Count, "A").End(xlUp).Row Set a2 = Sheets("Arkusz2") Rows(1).Copy a2.Rows(1) w = 2 For x = 2 To ow k1 = Split(Cells(x, 1), ",") k2 = Cells(x, 2) k3 = Cells(x, 3) For y = 0 To UBound(k1) a2.Cells(w, 1) = k1(y) a2.Cells(w, 2) = k2 a2.Cells(w, 3) = k3 w = w + 1 Next Next End Sub [/syntax]
Usuń [syntax=vbscript]Columns(2).NumberFormat = "(at)"[/syntax] [syntax=vbscript]Sub elka() With Sheets("Dane") Open Plik9 For Input As #1 numer_wiersza = 1 Do Until EOF(1) Line Input #1, LineFromFile Slowo = Split(LineFromFile, ";") .Cells(numer_wiersza, 1).Value = Slowo(1) If IsNumeric(Slowo(2)) Then .Cells(numer_wiersza, 2).Value = CDbl(Slowo(2))...
Następnym razem jako przykład załącz skoroszyty Excela a nie zrzuty ekranu. Przetestuj kod: [syntax=vbscript]Option Base 1 Sub podziel_autorow() Dim tblTmp() As String Dim lLstRw& Dim i&: i = 1 Application.ScreenUpdating = False lLstRw = Cells(Rows.Count, 1).End(xlUp).Row Columns(3).EntireColumn.Insert Cells(1, 2).Value = "autorzy" Cells(1, 3).Value...
Poprawione makro PRL [syntax=vb]Sub Auto_Open() Dim tblTxt() As String ow = Cells(Rows.Count, "A").End(xlUp).Row Open "K:\PobierzZtxt\Test.txt" For Input As #1 For x = 1 To 4 Line Input #1, a tblTxt() = Split(a, "; ") Range(Cells(ow + x, 1), Cells(ow + x, 1).Offset(0, UBound(tblTxt()))).Value = tblTxt() Next Close #1 End Sub[/syntax]
[syntax=vb]Sub Rozdziel() For x = 1 To Cells(Rows.Count, "A").End(xlUp).Row a = Split(Cells(x, 1), " ") Cells(x, 2) = a(0) Cells(x, 3) = a(2) Next End Sub [/syntax] I tak dalej.
Najprościej b = Split(Cells(5, 10), "/") a = b(0) Cells(5, 10) = a + 1 & "/" & b(1)
[syntax=vb]Sub PoPrzecinku() ow = Cells(Rows.Count, "A").End(xlUp).Row For x = 1 To ow ok = Cells(x, Columns.Count).End(xlToLeft).Column For y = 1 To ok a = Split(Cells(x, y), ",") For Z = 0 To UBound(a) Cells(x, ok + Z + 1) = a(Z) Next Next Next End Sub [/syntax] Podaj kilka przykładów danych wejściowych. Lub może tak: [syntax=vb]Sub PoPrzecinku()...
Nieco w tom stylu [syntax=vb] Sub etapy() Dim r&, x$, y$ r = 2 While Cells(r, 1) <> Empty x = Cells(r, 3) y = Replace(x, ";", "") Cells(r, 3) = Trim(Split(x, ";")(0)) For i = 1 To Len(x) - Len(y) y = Trim(Split(x, ";")(i)) If Len(y) > 0 Then r = r + 1 Rows(r).Insert Cells(r, 1) = Cells(r - 1, 1) Cells(r, 3) = y End If Next r = r + 1 Wend...
W angielskim (nie mam jak sprawdzić) brzmieniu byłoby w kolejności: ="="&LEFT(A1,FIND(&quo... =MID(A1,FIND("-",A1... lub =RIGHT(A1,4) ="+"&MID(A1,FIND("...
Spróbuj po takiej przeróbce, jak coś nie będzie działać - dostosuj do własnych potrzeb: [syntax=vb] Private Sub CommandButton1_Click() Dim i As Long Dim p As Long Dim arkPK As Worksheet Dim arkO As Worksheet Set arkO = ThisWorkbook.Worksheets("Nota_Oracle") Set arkPK = ThisWorkbook.Worksheets("PK") Application.ScreenUpdating = False With arkPK ost_w...
Najprościej - 'Split'-em go... Np (w kodzie arkusza, dane w kol A)[syntax=vb]Sub Rozdziel() Dim wrs As Long, temp As Variant, tekst As String wrs = 2 'pierwszy wiersz z danymi Do While Cells(wrs, 1) <> "" temp = Split(Cells(wrs, 1)) Cells(wrs, 2) = temp(0) Cells(wrs, 3) = temp(1) For i = 2 To UBound(temp) - 2 tekst = tekst & " " & temp(i)...
Po wykonaniu makra 'Id', wykonaj to makro: [syntax=vb]Sub BezImg() For x = 1 To Cells(Rows.Count, "A").End(xlUp).Row t = Split(Cells(x, 1), "|") For y = 0 To 6 a = a & t(y) & "|" Next a = a & t(10) & "|" & t(11) & "|" Cells(x, 1) = a Next End Sub [/syntax] Zmieniasz dane wejściowe, więc nie jestem w stanie napisać Ci jedno makro, które z danych wejściowych...
z funkcjami InStr, Mid, Len Raczej Split. [syntax=vbscript]Sub DaneOsobowe() a = InputBox("Podaj dane rozdzielając je przecinkiem.") b = Split(a, ",") For x = 0 To UBound(b) Cells(x + 1, 1) = LTrim(b(x)) Next End Sub [/syntax]
Przetestuj kod: [syntax=vb]Sub uzupelnij() Dim shSrc As Excel.Worksheet Dim shDest As Excel.Worksheet Dim lLstRwSrc& Dim rngTmp As Excel.Range Dim colUniq As Collection Dim vBox As Variant Set colUniq = New Collection Set shSrc = Sheets("baza") Set shDest = Sheets("PRE-ALERT") With shSrc lLstRwSrc = .Cells(Rows.Count, 1).End(xlUp).Row Set rngTmp = Range(.Cells(2,...
Pliki można przyjąć są txt, a podane rozwiązanie to niemal dokładnie to czego potrzebuję :-) Do pełni szczęścia trzebaby jeszcze wpleść kwestię importowania danych rozdzielonych w plikach źródłowych średnikami do oddzielnych kolumn w arkuszu. Moje starania w tej kwestii na razie nie przynoszą pożądanego rezultatu. Podstaw proszę za linię .Cells(l,...
Zakładając, że rzeczywiście jest string 3 wyrazowy nie ma problemu. Dokładamy podzial2 = Split(ActiveCell.Value, " ") ActiveCell.Value = "<" + podzial2(0) + " " + podzial2(1) + "> i po sprawie Całkowity kod Sub bold() Dim podzial As Variant Dim podzial2 As Variant ostatni_wiersz...
Hej, Temat dosyć stary ale być może ktoś tak samo jak ja będzie szukał odpoiwiedzi na to pytanie więc wstawiam rozwiązanie. Kod zakłada że w komórkach D1, D2, D3 mamy tekst który chcemy sprawdzić. Oczywiście można podłączyć ten kod do zdarzeń arkusza. [syntax=vbscript]Sub Split_Text() Dim MyText() As String Dim r As Long ReDim MyText(200) For z = 1...
Spróbuj z rozdzieleniem po wczytaniu całej linii. Np[syntax=vb]Sub wczytajPlikTekstowy() Close #1 'dla pewności Open ".\dane.txt" For Input As #1 wrs = 1 Do Until EOF(1) kol = 1 Line Input #1, liniatekstu tbl = Split(liniatekstu, "|") For i = 0 To UBound(tbl) Cells(wrs, kol) = tbl(i) If IsNumeric(Cells(wrs, kol)) Then Cells(wrs, kol) = Cells(wrs, kol)...
[syntax=vbscript]Sub Linia() l = "$S$ewidencja#|#karta#|#1512PL#|#karta LR HISL LC-2#|##|#S04557222#|#2040524#|#z węzła#|#Olecko/S01#|##|#S04557209#|#slot... magazynu#|#Suwałki/MO1#|##|##|##|##|#spr... $S$ewidencja#|#karta#|#1512PL#|#karta LR HISL LC-2#|##|#S04557223#|#2005987#|#z węzła#|#Olecko/S01#|##|#S04557209#|#slot... magazynu#|#Suwałki/MO1#|##|##|##|##|#spr...
[syntax=vb]Sub numery() Dim wz As Worksheet, rs&, re&, i&, j& Dim bs As Range, bd As Range Set bs = ThisWorkbook.Sheets("baza").Range("B1:C1... 'platform, tara Set bd = ThisWorkbook.Sheets("start").Range("B1:C... 'wagony Set wz = ThisWorkbook.Sheets("wykaz_zdawczy") wz.Activate rs = 17 'wiersz poczatkowy re = wz.Cells.Find("podpis").Row...
Nie bardzo. Nie mam pojęcia jak to zrobić :cry: Z tego co napisałeś zrozumiałem że miałbym zrobić coś takiego jak poniżej ale to chyba źle zrozumiałem bo to nie działa :| : Dodano po 1 Tak długo krążyłem aż wreszcie posklejałem to do kupy. Dzięki wielkie za pomoc. W sumie prosto mi to wyjaśniłeś ale po całodniowej dniówce gdzieś mi 'żyłka pękła' :D...
Mała poprawka: [syntax=vbscript]Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 11 Then Dim ar() As String q = 0 a = Split(Target, " ") For aa = 0 To UBound(a) For x = 5 To 13 If Cells(x, 4) = a(aa) Then For Z = 5 To 9 If Cells(x, Z) = "X" Then c = Cells(4, Z) If InStr(1, b, c) = 0 Then ReDim Preserve ar(q)...
Makro jest w załączonym pliku. Tu z drobnymi zmianami: w makro są dwie pary tablic: zasady i wyjątki, czyli następne wystarczy dopisywać. Niżej sprawdzane jeszcze 3 warunki (liczba po znaku, minus po znaku i liczba na początku akapitu). [syntax=vb]Sub proba() Dim rCo As Variant, rNa As Variant, tekst As Variant Dim wrs As Long, i As Integer, j As Integer,...
:arrow: JRV - Ciekawe podejście Z tym że może wystąpić kłopot przy błędnych danych tzn. jak np. zabraknie jednego ";" to np. zmienna3 wędruje w miejsce zmiennej 2 Ja poszedłem trochę inną drogą (dodałem komunikaty "kierunkowe" w razie błędu) [syntax=vb]Sub podziel() Dim ostWiersz As Double Dim x As Integer, y As Integer, i As Integer, j As Integer,...
Wyszła podwójna (coraz gorzej z moim "okiem" ;) "słoik" (wzór) został "słoniną" (wynik). Cóż, zdarza się :) Zastąp poprzednie, poniższym [syntax=vb]Option Explicit Sub KopiujAle() Dim fd As FileDialog, wkb As Workbook, test As String Dim shSrc As Worksheet, wrs As Long, kol As Integer, wrsDst As Long Set fd = Application.FileDialog(msoFileDialogOpen...
Przetestuj [syntax=vb]Option Explicit Sub Import_TXT_FSO_SPLIT() Dim oFSO As Object 'File System Object Dim oFld As Object 'Obiekt Folder Dim oFls As Object 'Obiekt Plik Dim oTemp As Object Dim iRw As Integer: iRw = 1 'wiersz do którego wpisywane są dane Dim sItem As String 'katalog z plikami Dim sExt As String 'rozszerzenie pliku Dim fl As Object Dim...
Tak jak kolega Aldrin zauważył błędnie były nazwy kolumn w stosunku do zwracanych danych. Ja powiększyłem iolość kolumn tak by i "uwagi" były widoczne. Dodatkowo zmieniłem opis (i wyliczenia) do drugiej kolumny by pokazywało liczbę porządkowa danego arkusza a nie wiersz. Wg mnie jest to logiczniejsze w razie wydruków list. Również nie ingerowałem w...
Przy czym plik txt jest koszmarnie sformatowany Dlaczego zaraz koszmarnie?? Całkiem przyzwoicie - dane powtarzają się w przewidywalnych grupach. Wystarczy podzielić na tablicę wg spacji i w zależności od długości tablicy skopiować dane w odpowiednią komórkę: [syntax=vb]Private Sub CommandButton1_Click() Dim linia As String Dim tabl() As String Application.ScreenUpdating...
Da się prościej opisać problem? [syntax=vbscript]Sub Kopiowanie2() kk = "J6,R6,AI6,AY6,BS6,F18,X18,AC18,AC19" k = Split(kk, ",") u = UBound(k) nw = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row + 1 For x = 0 To u Sheets(2).Cells(nw, x + 1) = Sheets(1).Range(k(x)) Next End Sub [/syntax]
moim zdaniem trzeba to wczytać do jakiejś tabeli z dwom kolumnami, gdzie kolumna 1 to daty a 2 imiona jak mówił mój poprzednik będzie problem z wyszukaniem pojedynczego imienia, ale tylko niewielki, jeżeli wpisaliśmy imie Marek to program będzie sprawdzał rekord po rekordzie daty, powinniśmy rozdzielić imiona w taki sposób string imie = "Marek";...
Testuj. Testowałem ten Twój kod w Excel 2016 i po jednokrotnym przejściu coś się wykrzacza :-( Niestety ze względu na Twoje zabezpieczenia widzę tylko dwie procedury i być może błąd powstaje z uwagi na brak przełączenia na końcu opcji Application.ScreenUpdating na True albo coś źle współpracuje ta procedura z jakimiś ukrytymi procedurami skoroszytu....
Jeżeli pola są oddzielone spację, wystarczy taka modyfikacja pętli: [syntax=vb]Do While Not EOF(1) Line Input #1, TextLine If Left(TextLine, 13) = "121401_2.0011" Then arr = Split(TextLine, " ") wsdane.Cells(i, 1).Value = arr(0) wsdane.Cells(i, 2).Value = arr(1) wsdane.Cells(i, 3).Value = arr(2) wsdane.Cells(i, 4).Value = arr(3) wsdane.Cells(i, 5).Value...
[syntax=vbscript]Sub Liczniki() Open "C:\PlikiCSV\Gauges_Data.csv" For Input As #1 For x = 1 To 6 Line Input #1, a Next w = 1 While Not EOF(1) Line Input #1, a b = Split(a, Chr(9)) u = UBound(b) For x = 0 To u Cells(w, x + 1) = b(x) Next w = w + 1 Wend Close #1 Columns("A:A").NumberFormat = "[$-F400]h:mm:ss AM/PM" End Sub [/syntax]
Mały problem jest to, że różne osoby mogą być różne liczby wierszy. Jeśli Możesz zapisz tę stronę w pliku .htm i Wyślij wiadomość prywatną Dodano po 2 '2^nd' - to zdanie jest dla każdej osoby? Dodano po 2 Sprobuj [syntax=vb]Sub podzial() Dim bs As Range, bd As Range lr = Cells(Rows.Count, 1).End(xlUp).Row Set bs = Range("A1").Resize(lr) Set bd = Range("G:O")...
Jak widać, chcesz sklejać konstrukcję 'INSERT'. Proponuję coś w tym stylu: [syntax=vbscript]Sub qq() Open "C:\SQL.txt" For Output As #1 strSQL = "INSERT INTO Tabela (id, nazwisko) VALUES (" & Celles(x, 1) & "'" & Cells(x, 2) & "'" i = Split(strSQL, vbNewLine) For x = 0 To UBound(i) Print #1, i(x) Next Close #1 End Sub [/syntax] P.S. Nie wiadomo, jak...
Cześć, Nie wiem czy dobre forum. próbuje ułatwić sobie troszkę życie ;) Potrzebuje aby Excel (skoroszyt binarny) za pomocą makra tworzył nowy folder wg daty zawartej w komórce. Napisałem coś takiego ale nie działa, ktoś podpowie co zmienić? Sub StworzFolder() Dim FullPath As String Dim PATH As Variant Dim Folder As String Dim i As Integer FullPath =...
wyciągnąć z tych txt liczby pierwsze od lewej. Innymi słowy trzeba wyciągnąć rzeczywistej średnicy i zaokrąglenie? Oraz Rozmiar osi X? Dodano po 53 Spróbuj [syntax=vb]Sub Wybierz_wyniki_do_analizy() Dim plik As String, r&, c&, i&, krt krt = Array("Circle:*", "Diameter*", "Circularity*", "Plane:*", "X-axis*") Filt = "Wszystkie pliki (*.*),*.*"...
Udało mi się zrobić coś takiego: W kolumnie A znajduje się kilka plików do znalezienia w kolumnie B wyświetlane są wyniki [syntax=vbscript]Dim fldr As FileDialog Set fldr = Application.FileDialog(msoFileDialogFold... fldr.Show f = fldr.SelectedItems(1) ostatniwiersz = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To ostatniwiersz ibox = Cells(i,...
Zrób tak jak w przykładzie. Obsługa błędów jest wyłączona, więc VB nie zatrzyma się na Split jeśli brak komentarza w komórce. Porównanie będzie miało wynik negatywny i przepisanie pustej tablicy da w efekcie pusty, widoczny komentarz... Z drugiej strony: Jeśli Split, to komentarz już tam jest, więc po co go przepisywać jeśli wszystko z nim OK? Może...
https://stackoverflow.com/questions/3789... Tu masz dobry przykład jak to wczytać w vba (musisz w split zmienić przecinek na ;) (kolejne kolumny to kolejne numery w drugim argumencie funkcji cells. Co do pierwszego argumentu - sprawdź na końcu czy jest mniejszy od np 500000 i wtedy robisz...
Spróbuj kopiować string [syntax=vb].Cells(11, adr).Formula = Str(cl.Formula)[/syntax] Albo go rozbij [syntax=vb].Cells(11, adr).Formula = cl.Formula .Cells(11, adr).Formula = Utnij(.Cells(11, adr).Formula)[/syntax]taką funkcją[syntax=vb]Function Utnij(frm As String) As String Dim test If InStr(frm, "]") > 0 Then test = Split(frm, "]") Utnij = "=" &...
witam mam problem ze zmiana zakresu dla funkcji split, zaznaczam ze jestem poczatkujacy w tym temacie ogolny zarys projektu to zczytywanie danych z wielu skoroszytow excela i kopiowanie niektorych arkuszy i okreslonych danych do jednego glownego skoroszytu w okreslone miejsca, po paru dniach przegladania sieci stworzylem cos co zaczelo dzialac ale pojawil...
Jest tam błąd, powinno być: Raczej tak powinno być [syntax=vbscript]Sub ImportujCSV() Application.ScreenUpdating = False Dim xls As String, csv As String, Linia As Long, Bajty As Long, Arkusz As String xls = Sheets("Parametry").Range("A2") csv = Sheets("Parametry").Range("B2") Linia = Sheets("Parametry").Range("C2") Bajty = Sheets("Parametry").Range("D2")...
Witam Procedura mojego zadanie wygląda następująco. 1. Wczytuje plik txt do excela 2. "Obrabiam do wg. swoich potrzeb 3. Eksportuje dane do txt, nadpisując plik importowany. 1 makro do wczytywania mam napisane. Problem jest jednak z drugim, ponieważ muszę wyeksportować tylko dane z kolumn od a do i. Problem drugi to jak nadpisywać plik txt bez konieczności...
To tylko kwestia dopasowania, metoda "prawie" identyczna dla obu przypadków. [syntax=vbscript]Option Compare Text Option Explicit Sub Proba() Dim katalog As String, plik As String, linia As String Dim licznik As Long, ko As Integer, startuj As Integer Dim tabela As Variant, i As Long katalog = "c:\" 'podstaw katalog z xml'ami. Slash na końcu plik =...
makro działające w drugą stronę Wg tę samą wartość pola 'Pozycja' ? Zanim można sortować je? W tabeli zawsze 5 kolumn? Alt+Enter tylko w ostatnich trzech kolumnach? Dodano po 1 [syntax=vb]Sub Rozbijanie() Dim bs As Range, bd As Range Dim rs&, rd& rs = CLng(InputBox("Rozbij tabelu od wiersza Nr", "Rozbijanie", 4)) Set bs = ThisWorkbook.Sheets(1).Range("A:E").Cell...
To jest opis przelewów z banku typu SPLIT PAYMENT i schemat jest zawsze taki sam tzn. Jest tekst Nr faktury:(spacja) .....wymieniony nr faktury lub kilka faktur.... kończy się to przecinkiem (spacja) Kwota VAT: Dodano po 8 Przepraszam nie zauważyłem kodu VB. Bardzo za niego dziękuję, ale u mnie niestety nie działa. Wyrzuca mi błąd w linijce Cells(j,...
Witam! jestem bardzo początkujący w VBA i bardzo potrzebuje pomocy z takim oto programem: otóż potrzebuje programu który wyszukałby we wszystkich plikach txt w danym katalogu słów zaczynających sie od "FGP" i "FPT" i potem sprawdzał czy dane słowa znajdują się w kolumnie dajmy na to A i jeżeli tam się znajdują to żeby w tym samym wierszu gdzie znalazł...
[syntax=vb] Sub makr3() On Error Resume Next Dim sh As Worksheet, sPath As String, sName As String Dim r As Range Set sh = ActiveSheet ' od której komórki c = 1 Application.DisplayAlerts = False sPath = ThisWorkbook.Path sName = Dir(sPath & "/*.txt") Do While sName <> "" Worksheets.Add(After:=Sheets(Sheets.Coun... = Left(sName, Len(sName)...
Do tej pory mam coś takiego: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Data.OleDb; using System.Text.RegularExpressions; namespace testtabele { public...
Witam, Mam problem z długo wykonującym się kodem. Pisze krótki program wczytujący pliki txt do Excela za pomocą VBA. z zapisem danych do pliku nie ma problemu, jednak wczytanie pliku zajmuje trochę czasu. Struktura pliku txt to: 1;12;12;12;12;12;12;12;12;8;8;8;8;8;8;8;... 5;12;12;12;12;12;12;12;12;12;12;12;12;12...
Nie najprościej, ale dość efektywnie jest tak: 1 10 11 9 A B R X Z a b r x z nie dziwi. By poprawnie sortować string trzeba by użyć bardziej zaawansowanych algorytmów. W kodzie jest "zaremowana" (określenie pochodzi od starej formy wstawiania komentarzy poprzedzanych słowem "rem") obsługa schowka by jej użyć trzeba dołączyć UserForm w projekcie lub...
Witam wszystkich! Mam kalendarz w excelu i chciałbym teraz mieć możliwość, aby excel wysyłał z automatu na wskazane adresy cały kalendarz po wprowadzonych zmianach w danych komórkach. Mam obecnie makro, które pozwala na to, ale przez naciśnięcie przycisku. Czy może robić to automatycznie? Czy mogę prosić o podpowiedzi? Jestem w tej materii zielony Poniżej...
Jeżeli dobrze zrozumiałem, to takie makro: [syntax=vb]Sub PobiezCSV() Poczatek = "2015-01-01 10:00" koniec = "2015-01-01 11:00" Dim w As Worksheet Set w = Sheets("Wynik") Open "C:\ala.csv" For Input As #1 x = 1 Do While Not EOF(1) Line Input #1, l If InStr(1, l, Poczatek) > 0 Then f = True a = Split(l, ";") w.Cells(x, 1) = a(0) ' Pierwsza 'kolumna'...
Witam. Napisałem makro (excel 2010) które kopiuje pewien zakres (od A8 do kolumny E ostani zajęty wiersz) do komórki w kolumnie A pierwszy wolny wiersz w arkuszu w innym skoroszycie, problem polega na tym że chciałbym skopiować kilka zakresów (np A8 do kolumny E ostani zajęty wiersz, O8 do kolumny AK ostani zajęty wiersz, AM8 do kolumny BC ostani zajęty...
Witam. Nie znam niestety VBA i mogę liczyć tylko na Waszą pomoc. Musze napisać makro, które skopiuje mi dane z pliku csv/txt do arkusza, przypisując jednocześnie nazwę pliku z którego zostało skopiowane.. .To jakby połaczenie tych dwóch kodów: Sub Importuj() Dim rg As Range Dim sciezka As String, plik As String, linia As String Dim T As Variant sciezka...
Odbijając na chwilę od skrócenia czasu wykonania procedury. Zauważyłem błąd. Żle obliczał najmniejsze odchylenie standardowe - nie te zmienne były analizowane. Poprawiłem i dodałem do wyników by pokazywał wartości Z. Jak widać największa średnia nie do końca spełnia warunek by liczby były w miarę "blisko siebie" Natomiast najmniejsze odchylenie standardowe...
Nawiązując do tematu: https://www.elektroda.pl/rtvforum/topic3... Chciałbym, aby kod pobierał zadaną przeze mnie nazwę pliku lub folderu, szukał jej w folderach i podfolderach ze źródła. Na podstawie powyższego tematu wiem w jaki sposób się czytać nazwy folderów/podfolderów/plików. Poniżej przedstawiam kod do tego: Dodano po 4 Bardzo przepraszam...
Bez ścieżki dostępu... Jaka komenda otwiera plik excela? Sub Open_Copy() Dim fd As FileDialog Dim plik As Variant Set fd = Application.FileDialog(msoFileDialog... With fd .Filters.Clear .Filters.Add "Pliki Excel", "*.xl*; *.xls*" If .Show = -1 Then For Each plik In .SelectedItems Workbooks.Open plik All =...
cześć, poszukuje usprawnienia w makrze, które pozwoli mi przeszukać cały folder oraz znajdujące się w nim podfoldery w celu wyszukania i skopiowania danych. Poniżej to co udało się do tej pory wymyślić wraz z plikiem. Nie wiem jak to usprawnić. [syntax=vbscript]Private Sub CommandButton1_Click() Application.ScreenUpdating = False ost_w = Range("A" &...
Robiłem kiedyś podobne makro, ale zapisuje ono zakres złożony z iluśtam kolumn i 40 wierszy do kolejnych plików ich nazwa jest nazwą oryginału plus numer i jest logowana. [syntax=vbs]Sub import_export() ' ' import_export Macro ' This macro reads the selected excel file and splits it to multiply parts of given (def = 40) rows excl one- sheet files '...
Analiza trwa godzinę?? Na pewno kod można zoptymalizować, danych nie ma aż tak dużo. Jak dla mnie kilka minut to już by było za dużo. Tak na szybko (bo kod za długi żeby cały analizować ;P) parę uwag: - w przycisku ANALIZUJ znowu zgubiłeś Application.ScreenUpdating =... i Application.Calculation = ... Przez to na pewno wolniej działa. Wyrób sobie dobry...
Witam. Potrzebuję pomocy z importem wielu plików txt do excela. Pliki txt mają podobne rozłożenie różnią się jedynie wartościami oraz liczbą wierszy. Potrafię stworzyć makro na kopiowanie z wybranego pliku txt określonych kolumn od np 20 wiersza. Dziś potrzebuję stworzyć makro do importowania wielu plików txt znajdujących się np: "c:/a/". Znalazłem...
Witam, Potrzebuję makra które po wybraniu z listy rozwijanej (kolumna C) przeniesie cały wiersz z arkusza all do innego arkusza jednocześnie wykasowując ten wiersz a arkuszu all. Dobrze byłoby gdyby była zachowana możliwość przenoszenia później pomiędzy arkuszami. Przerobiłem makro znalezione w internecie, działa mniej więcej ale są problemy: - wiersz...
Witam, W VBA jestem początkujący , niestety nie mogę sobie poradzić ze stworzeniem poniżej opisanego makra . Mam kilkaset plików w formacie .csv o nazwie RRRRMMDD_prognoza (gdzie: RRRR-rok, MM-miesiąc, DD-dzień). Ich zawartość chciałbym zaimportować do excela tak, by zawartość każdego z tych plików pojawiła się jeden pod drugim (względem narastającej...
Wczytuje dane ze wszystkich plików tekstowych znajdujących się w tym samym katalogu, co plik Excela: [syntax=vb] Sub ddd() Dim wiersz As Integer Dim wielkosc As Integer Dim lInputFile As Variant Dim linia As String Dim i As Integer Dim tekst As Variant Dim opis As String wiersz = 1 Dim plik_txt As String plik_txt = Dir(ActiveWorkbook.Path & "\*.txt")...
Przeglądając różne fora udało mi się znaleźć odpowiedz na moje pytanie. Kod na przenoszenie wielu wierszy z TextBox do pojedynczych komórek: Dim strStringToSplit As String strStringToSplit = ActiveSheet.TextBox2.Text Range("A1").Resize(UBound(Split(strStrin... Chr(13))) + 1, 1).Value = Application.Transpose(Split(strStringToS... Chr(13))) strStringToSplit...
w moim przypadku by to nie zadziałało Zadziałało, zadziałało. Tak: [syntax=vbscript]Sub Drukowanie() Application.ScreenUpdating = False s = "A1 A3 A8 A13 A14" i = InputBox("Numer wiersza") Set a = ActiveSheet Set b = Workbooks.Open(Environ("userprofile") & "\Desktop\Zeszyt2.xlsm") k = Split(s, " ") For x = 0 To UBound(k) b.Sheets(1).Range(k(x)) = a.Cells(i,...
Próbuję stworzyć skrypt w VBA, który mając jeden plik wejściowy, w którym jest pole: "Date" utworzy dwa pliki wyjściowe (w pierwszym umieści wszystkie wiersze, których data jest większa od "2014-04-04" a w drugim jest mniejsza. Mój plik wejściowy excela wygląda tak: SalaryDate 342015-03-01 1242014-11-02 452015-05-13 422011-01-04 682012-05-05 232013-06-06...
Jak by ktoś kiedyś szukał to poniżej działający skrypcik vbs: Option Explicit Dim objUser, strExcelPath, objExcel, xlBook1, objSheet, _ objFSO, objFile, aline, aLines, irow, icol Const ForReading = 1 Set objFSO = CreateObject("Scripting.FileSystemObject... Set objFile = objFSO.OpenTextFile("D:\FIRMY\ARP\1\1\1.... ForReading) Set objExcel = CreateObject("Excel.Application")...
Spróbuj [syntax=vb] Sub mySplit() Dim bs As Range, mar() As String Dim r&, i&, n&, x$, xx$ Dim p&, pd&, ps&, pw&, lmi&, pn&, px&, pf&, pe&, sl& Const dig = "0123456789" Set bs = Sheets("dane").Range("b:g") r = 2 While bs(r, 1) <> vbNullString x = bs(r, 1): n = 0 If bs(r, 1).MergeCells Then n...
No to teraz mam coś takiego, ale to wypuszcza taki sam plik jak oryginał: [syntax=vbscript]Sub SplitRowsToFiles() Dim wb As Workbook Dim wrkSht As Worksheet Dim saveFile As String, name As String Dim WR As Range, header As Range Set wrkSht = ActiveSheet Set header = wrkSht.Range("A1:BN64") saveFile = Application.GetSaveAsFilename Dim last As Integer...
Witam, Dzieki za odpowiedz. Nie otrzymalem od nich zadnego routera z VoIP. Na infonetii dowiedzialem sie, ze karta voip ma byc podlaczona na centrali, a telefon u siebie podlanczam bezposrednio do gniazdka telefonicznego. Dlatego uzylem splittera, ktory byl w zestawie, bo akurat chce miec na te pore modem i telefon podlaczone w jednym pokoju. Moglbys...
Witam. Mam za zadanie wykonać model, w którym kopiuję z jednego arkusza (Arkusz3) po kolei pojedyncza kolumnę z danymi do arkusza "Europa", następnie wykonuje operacje przy pomocy programu OpenSolver/Solver i pewien fragment z symulacji kopiowany jest do arkusza dla konkretnego miesiąca. Wczoraj po kolejnej aktualizacji kodu program zaczął mi się zawieszać...
Dear readers, As the first part of the book had been published we have decided to let all foreign readers read the sample of the book in english. However the translation may not be perfect, it may give you an impression on the whole book. The remaining part of the book has not been translated so far, so if you are interested, you may translate it further...
Witam chociaż nie znam VBA zrobiłem sobie program w C który wylicza dane a w exellu robi wykres moje makro wygląda tak [syntax=vb]Private Sub CommandButton1_Click() Set fd = Application.FileDialog(msoFileDialogOpen... With fd .Filters.Clear .Filters.Add "Pliki txt", "*.tx**; *.txt*" .InitialFileName = "c:\" .AllowMultiSelect = False If .Show = -1 Then...
Witam Niedawno musiałem zapoznać się z VBA i nawet mi poszło no ale żeby tego mało muszę napisać makro w Open Office. Czy mógłby ktoś pomóc w przerobieniu makra z excela na scalc ? Zasada jest taka, że otwieram plik txt, zamieniam spacje na #, likwiduję ####### do postaci jednego # i wczytuję w odpowiednie komórki. Tak to sobie wymyśliłem jak niżej...
panel cells panele cells solar cells
opalarka grzeje ekspres krups ea9000 mikrofon komputera wzmacniacz
identyfikacja elementu falownik elektronix
Zmywarka IKEA nie grzeje wody: przyczyny i rozwiązania Domyślne hasło administratora telefonów Cisco