Zum Inhalt springen

Word-VBA ->Frage


Empfohlene Beiträge

Geschrieben

Wie mach ich es, das VBA in einer Word-Tabelle erkennt ob eine Zelle befüllt ist oder nicht?

Es geht um ein Bestellformular, in dem die die Ware durch einen Dropdown button bestimmt werden kann und die Menge in einem Textferld angegeben werden kann.

Nun soll nach der Eingabe der Preis, die Menge und der Warenname in einer vorher bestimmten Tabelle verzeichnet werden.

Die nächste Ware soll im nächsten Feld (drunter) angegeben sein!

Wie mach ichs das er mir nicht immer die 1.Zeile beschreibt und dann einfach überschreibt? :( Hoffe man versteht was ich eigentlich will :)

Hier mein Code:

Dim dateiauswahl

Dim xl As Object

Dim wdApp As Word.Application

Dim wdDoc As Word.Document

Dim wdRng As Word.Range

Dim ol As Object

Dim namen() As String

Dim Bereich As Object

Dim Einzel As Integer

Dim Menge As Integer

Dim i As Integer

Dim a As Integer

Private Sub CommandButton1_Click()

End Sub

Private Sub UserForm_Activate()

'Datei-Öffnen Dialog zur Auswahl der Excel Datei

'Set Dialog = CreateObject("MSComDlg.CommonDialog")

'On Error Resume Next

'With Dialog

' .Filter = "Excel (*.xls)|*.xls"

' .DialogTitel = "Datei öffnen"

' .MaxFileSize = 260

' .InitDir = "C:\"

' .ShowOpen

' If Err = 0 Then

' MsgBox "Ausgewälte Datei: " & .FileName

' End If

dateiauswahl = "C:\Berufschule\fuchs\\Berufschule\LehrerOrdner\Fuchs\2006-10-02\waren.xls"

' End With

' Combobox mit Inhalten aus Excel füllen

Set xl = CreateObject("excel.Application")

xl.workbooks.Open ("D:\Berufschule\Fuchs\VBA\2006-10-02\waren.xls")

ComboBox1.Clear

Set Bereich = xl.worksheets(1).[A1].CurrentRegion

For i = 2 To Bereich.Rows.Count

ComboBox1.AddItem xl.worksheets(1).Cells(i, 1).Value

Next

ComboBox1.Value = ComboBox1.List(0)

Set wdApp = CreateObject("word.Application")

End Sub

Private Sub ComboBox1_Change()

'Lagerbestand in Textfeld eintragen

a = ComboBox1.ListIndex + 2

TextBox1.Text = xl.worksheets(1).Cells(a, 2).Value

End Sub

Private Sub WareBuchen_Click()

' Benötigte Ware aus Lagerbestand ausbuchen und in Worddokument eintragen (Bezeichnung, Menge, Einzelpreis und Gesamtpreis)

a = ComboBox1.ListIndex + 2

TextBox1.Text = TextBox1.Text - TextBox2.Text

xl.worksheets(1).Cells(a, 2).Value = TextBox1.Text

If IsNull(ActiveDocument.Tables(1).Cell(2, 1).Range) Then

Set wdRng = ActiveDocument.Tables(1).Cell(2, 1).Range

'Menge schreiben

wdRng.Text = TextBox2.Text

'Bezeichnung schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(2, 2).Range

wdRng.Text = ComboBox1.Text

'Einzelpreis schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(2, 3).Range

wdRng.Text = xl.worksheets(1).Cells(a, 3).Value

'Einzelpreis schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(2, 4).Range

Einzel = xl.worksheets(1).Cells(a, 3).Value

Menge = TextBox2.Text

wdRng.Text = Einzel * Menge

Else

If IsNull(ActiveDocument.Tables(1).Cell(3, 1).Range) Then

Set wdRng = ActiveDocument.Tables(1).Cell(3, 1).Range

'Menge schreiben

wdRng.Text = TextBox2.Text

'Bezeichnung schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(3, 2).Range

wdRng.Text = ComboBox1.Text

'Einzelpreis schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(3, 3).Range

wdRng.Text = xl.worksheets(1).Cells(a, 3).Value

'Einzelpreis schreiben

Set wdRng = ActiveDocument.Tables(1).Cell(3, 4).Range

Einzel = xl.worksheets(1).Cells(a, 3).Value

Menge = TextBox2.Text

wdRng.Text = Einzel * Menge

End If

End If

'Bezeichnung schreiben

'wdrng.

End Sub

Private Sub Rechnungssumme_Click()

'Rechnungsbetrag berechnen

End Sub

Private Sub Ende_Click()

xl.workbooks(1).Save

xl.Quit

Set xl = Nothing

End

End Sub

Private Sub UserForm_Terminate()

xl.workbooks(1).Save

xl.Quit

Set xl = Nothing

End Sub

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...