napisał: motylekxyz postów: 9
umieszczony: 7 maja 2012 23:20
|
|
Dziękuję za uwagi. Niestety nie jestem w tym mistrzem :D Wydawała mi się, że dobrze robię, a tu się okazało, że popelniłam znaczącce błędy ;/
POZDRAWIAM |
|
napisał: Trebor postów: 1209
umieszczony: 4 maja 2012 20:05
edytowany: 4 maja 2012 20:06
|
|
Pozwól parę uwag od amatora do ostatniej procedury:
1. Przy deklaracji Dim i, j As Integer tylko j jest integerem, i to variant
2. Tak Input #1, linia nie czytasz zawsze całej linii
3. Skąd masz pewność, że pętla Do Until EOF(1) przeczyta 5 wierszy (z uwagą powyżej)?
4. W jakim celu przepisujesz dane do excela, później do tablicy i dopiero do pliku tekstowego (excel tutaj zbędny)
Co do metody tablicowej liczyłem na jakieś fajerwerki, a wyszedł tylko "gryl". To nie jest uwaga do Ciebie.
Pozdrawiam |
|
napisał: motylekxyz postów: 9
umieszczony: 4 maja 2012 19:42
edytowany: 4 maja 2012 19:44
|
|
Sub przyklad()
Dim i, j As Integer
Open "C:\Users\admin\Desktop\plik8.txt" For Input As #1
i = 0
Do Until EOF(1)
Input #1, linia
Range("A1").Offset(i, 0) = LCase(linia)
i = i + 1
Loop
Close #1
Dim tablica(1 To 5, 1 To 1) As String
tablica(1, 1) = Cells(1, 1)
tablica(2, 1) = Cells(2, 1)
tablica(3, 1) = Cells(3, 1)
tablica(4, 1) = Cells(4, 1)
tablica(5, 1) = Cells(5, 1)
Rows(5).ClearContents
Rows(6).Delete
Open "C:\Users\admin\Desktop\plik8.txt" For Output As #1
For j = 1 To 4
Print #1, tablica(j, 1)
Next j
Close #1
End Sub
Zadanie może wyglądać w ten sposób. Akurat usunęłam ostatni wers |
|
napisał: Trebor postów: 1209
umieszczony: 4 maja 2012 16:13
|
|
To teraz Twoja kolej. O co chodzi w tym:
Usuń wiersz z pliku tekstowego używając metody tablicowej (array). (Plik dowolny i należy usunąć pierwszy wiersz) Możesz jakoś opisać metodę tablicową usuwania wiersza z pliku tekstowego? |
|
napisał: motylekxyz postów: 9
umieszczony: 3 maja 2012 22:08
|
|
Działa super, wielkie dzięki ^^ |
|
napisał: Trebor postów: 1209
umieszczony: 3 maja 2012 21:37
|
|
Sprawdź poniższe Sub zad2()
Dim X As String, n As Integer, j As Integer
Open "C:\Documents and Settings\Admin\Pulpit\resman.txt" For Input As #1
X = "wiosna"
Do Until EOF(1)
Line Input #1, linia
j = j + 1
n = n + (Len(linia) - Len(Replace(UCase(linia), UCase(X), ""))) / Len(X)
If InStr(1, UCase(linia), UCase(X)) > 0 Then MsgBox "poszukiwany wyraz występuje w wierszu " & j
Loop
Close #1
MsgBox ("Wyraz " & X & " występuje " & n & " razy")
End Sub |
|
napisał: motylekxyz postów: 9
umieszczony: 3 maja 2012 20:53
edytowany: 3 maja 2012 20:54
|
|
Odnośnie drugiego zadania
Sub zad2()
Dim X As String
Dim n, j As Integer
Open "C:\Users\Ala\Desktop\plik.txt" For Input As #1
n = 0
j = 0
TexToFind = "wiosna"
X = TexToFind
Do Until EOF(1)
j = j + 1
Input #1, linia
If InStr(1, linia, TexToFind) Then
n = n + 1
End If
Loop
MsgBox ("Wyraz" & " " & X & " " & "występuje w tekście" & " " & n & " " & "razy" & j)
Close #1
End Sub
tak wygląda moja formuła, wiem że jest coś nie tak ale niestety nie wiem jak poprawnie ma wyglądać. Stanęłam w takim miejscu |
|
napisał: Trebor postów: 1209
umieszczony: 3 maja 2012 19:45
|
|
Na pierwsze coś takigo:
Dim wymiar As Integer, i As Integer, j As Integer, liczba As Byte, tabl()
Dim komunikat As String, BrakWymiany As Boolean
wymiar = InputBox("Podaj wymiar tablicy.")
ReDim tabl(1 To wymiar)
Randomize
For i = 1 To wymiar
tabl(i) = Int(100 * Rnd + 1)
Next i
For i = 1 To wymiar
komunikat = komunikat & Chr(10) & tabl(i)
Next i
MsgBox komunikat
komunikat = ""
Do
BrakWymiany = True
For j = 1 To wymiar - 1
If tabl(j) > tabl(j + 1) Then
BrakWymiany = False
liczba = tabl(j)
tabl(j) = tabl(j + 1)
tabl(j + 1) = liczba
End If
Next j
Loop While Not (BrakWymiany)
For i = 1 To wymiar
komunikat = komunikat & Chr(10) & tabl(i)
Next i
MsgBox komunikat
End Sub co do drugiego to przygotuj plik tekstowy i opisz metodę tablicową (array) |
|
napisał: motylekxyz postów: 9
umieszczony: 2 maja 2012 17:28
|
|
Mam kolejny problem, nie wiem jakieś sugestie albo pomoc w rozwiązaniu zadań ? Kompletnie nic nie czaje ^^
1. Stosując pętle warunkową oraz tablice napisz program, który będzie posiadać menu:
1) poprosi o podanie liczby elementów tablicy jednowymiarowej,
2) wypełni losowymi liczbami z przedziału 1 do 100 tablice,
3) wykona sortowanie tablicy wg algorytmu bąbelkowego,
4) wyświetli zawartości tablicy przed sortowaniem,
5) wyświetli zawartości po sortowaniu,
6) zakończy działanie programu.
2. Stwórz plik tekstowy zawierający tekst. W tekście umieść kilka wystąpień tego
samego wyrazu. Napisz makro zliczające liczbę wystąpień szukanego wyrazu w pliku
tekstowym oraz podające nr linii w pliku wystąpień szukanego wyrazu.
Usuń wiersz z pliku tekstowego używając metody tablicowej (array). (Plik dowolny i należy usunąć pierwszy wiersz) |
|
napisał: Trebor postów: 1209
umieszczony: 3 kwietnia 2012 20:46
|
|
Coś w rodzaju (bez zabezpieczeń)
Sub input_box()
Dim mój_zakres As Range
Set mój_zakres = Application.InputBox(("Zaznacz zakres komórek do formatowania"), "Format", , , , , , Type:=8)
mój_zakres.NumberFormatLocal = "# ##0,00\ [$PLN];[Czerwony]# ##0,00\ [$PLN]"
End Sub |
|
napisał: motylekxyz postów: 9
umieszczony: 3 kwietnia 2012 19:09
|
|
Mam do napisania makro treści:
Używając metody InputBox zmień format dowolnego zakresu komórek według
wzorca [red]# ##0.00\ PLN; [blue]# ##0.00\ PLN.
Jestem w tym nowa, ogólnie jakoś mi idzie, ale nie czaje polecenia. Mógłby ktoś pomóc? |
|
wstecz 1 dalej wszystkich stron: 1
|
|