VB - wyszukiwanie ostatnie wypełnionej komórki i wprowadzenie danych poniżej do nowego wiersz

Odpowiedz Nowy wątek
2019-04-09 10:40
0

Witam,
Piesze prosty formularz wprowadzający dane do Excel-a ale niestety nie udało mi się osiągnąć rozwiązania dotyczącego dodawania kolejnego wpisu w pliku excel. Po prostu w te same miejsca wprowadza inne dane kasując poprzednio zapisane.
Przepraszam za głupie pytanie, ale dopiero co zacząłem się uczyć.
Proszę o pomoc :)
poniżej kod, który udało mi się napisaćj :

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'Create a new workbook in Excel
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
If form1.LinkLabel1.Text = "" Then
MsgBox("Brak ścieski Bazy danych",, "AQUA")
ElseIf TextBox18.Text = "" Then
MsgBox("Nie można zapiać danych w BAZIE. Brak numeru pozwolenia",, "AQUA")
Else
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.open(form1.LinkLabel1.Text)
oSheet = oBook.Worksheets(1)
oSheet.Range("c2").End(xlDown).Offset(1, 0).Select
oSheet.Range("C2").Value = TextBox18.Text
oSheet.Range("C2").offset(0, 2).Value = TextBox2.Text
oSheet.Range("C2").offset(0, 3).Value = TextBox3.Text
oSheet.Range("C2").offset(0, 4).Value = TextBox17.Text
oSheet.Range("C2").offset(0, 6).Value = TextBox4.Text
oSheet.Range("H2").Value = "O"
'zapis bazy danych
oBook.Save()
oExcel.Quit()
MsgBox("Zapisano w bazie",, "AQUA")
End If
End Sub

edytowany 1x, ostatnio: tibits, 2019-04-09 10:42

Pozostało 580 znaków

2019-04-09 18:36
0

Po pierwsze, jak wstawiasz kod, używaj narzędzi do tego przeznaczonych.
Takie coś słabo się czyta. (Po prawej stronie paska edycji posta masz "trójkącik", wybierz język i wklej kod między znaczniki.)
Po drugie, czytaj dokumentację funkcji, których używasz: link

oSheet.Range("C2").offset(0, 6).Value = TextBox4.Text

Range to zmiana zakresu. Na samym końcu ustawiasz wartość dla komórek od 0 do 6 nadpisując wcześniejsze zmiany.
Spróbuj:

oSheet.Cells(1,1) = TextBox2.Text
oSheet.Cells(1,2) = TextBox3.Text
oSheet.Cells(1,3) = TextBox17.Text

Pewnie można też inaczej budować Worksheet, ale to już znajdziesz w dokumentacji. ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0