vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest niedziela, 28 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Kompletnie zielono


otwartyotwarty rozpoczął: motylekxyz postów: 11



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


Sortuj posty: z