![]() |
Makro Programmierung Excel - VB
Hi,
Ich hab ein ganz simples Problemchen...und da ich schon zulange mich nicht mehr mit dem proggen befasst habe, fehlt mir der Ansatz. Also mein Problem: Ich habe hier eine Excel Tabelle, in der sollen per Formular einpaar sachen bequem eingetragen werden. Nun soll aber jedesmal, der neue Eintrag in der nächsten Zeile darunter stehen... ![]() ![]()
Code:
Dafür habe ich hier schon das i - als zähler, aber mir fehlt jetzt der Ansatz wie ich eine Schleife realisiere, dass ein neuer Eintrag immer eine Zeile nach unten rutscht -.-
Private Sub CommandButton1_Click()
If TextBox1.Value + TextBox2.Value + TextBox2.Value = "" Then GoTo nix End If ' i = i +1 Sheets("Tabelle1").Cells(i, 1).Value = Date Sheets("tabelle1").Cells(i, 2).Value = TextBox1 Sheets("tabelle1").Cells(i, 3).Value = TextBox2 Sheets("tabelle1").Cells(i, 4).Value = Time$ Sheets("tabelle1").Cells(i, 5).Value = TextBox3 nix: End Sub |
Re: Makro Programmierung Excel - VB
Zitat:
|
Re: Makro Programmierung Excel - VB
Hallo atgis,
das hat aber nichts mit Object – Pascal zu tun. VB: z.B. 1. For … Next - Schleife For i = 1 To 10 .. Next i 2. While … Wend – Schleife While I < 10 … Wend 3. Do While … Loop Do While i < 10 …. Loop 4. Do Until … Loop Do Until i < 10 … Loop Bis bald Chemiker |
Re: Makro Programmierung Excel - VB
Hallo,
ein Problem, Programmieren, Excel benutzen oder was? Das Verschieben der Eingabemaske in Excel wird/kann ganz einfach festgelegt werden: Menü->Extras->Optionen, Register 'Bearbeiten', Checkbox 'Markierung nach den Drucken der Eingabetaste verschieben' -> Richtung: (Unten, Rechts, Oben, Links); ?Oder habe ich(was ja mal vorkommen kann) etwas Falsch verstanden, dann bitte Entschuldigung. |
Re: Makro Programmierung Excel - VB
Hallo,
auf der ![]() |
Re: Makro Programmierung Excel - VB
Hallo atgis,
ich habe jetzt erst verstanden was Du meinst. Es muss zuerst die letzte Zeile bestimmt werden und dann die neuen Werte an die neue Stelle geschrieben werden.
Code:
Function letzteZeile() As long
Dim i As integer, letzteMin As long, letzteMax AS long For I = 1 To 256 letzteMin = Cells(65536, i), End(xlUp).Row if letzeMax < letzteMin then letzteMax = LetzteMin endif next i letzteZeile = letzteMax end function
Code:
Geschrieben und nicht ausprobiert.
private sub Commandbutton1_click()
Cells (letzteZeile+1, 1).Value = Date Cells (letzteZeile+1, 2).Value = TextBox1 … usw. end sub Bis bald Chemiker |
Re: Makro Programmierung Excel - VB
Zitat:
Ich möchte einfach, dass nach jedem Klick auf dem "setzen" Button i um 1 erhöht wird und somit der neue Eintrag eine Zeile weiter unten eingetragen wird...
Code:
Sheets("Tabelle1").Cells(i, 1).Value = Date
Sheets("tabelle1").Cells(i, 2).Value = TextBox1 Sheets("tabelle1").Cells(i, 3).Value = TextBox2 Sheets("tabelle1").Cells(i, 4).Value = Time$ Sheets("tabelle1").Cells(i, 5).Value = TextBox3 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Makro Programmierung Excel - VB
Was funktionieren würde wäre:
Code:
Doch fangen die Einträge erst bei der Zeile A39670 an :stupid:
Range("A2").Value = Range("A2").Value + 1
Sheets("Tabelle1").Cells(Range("A2").Value, 1).Value = Date Sheets("tabelle1").Cells(Range("A2").Value, 2).Value = TextBox1 Sheets("tabelle1").Cells(Range("A2").Value, 3).Value = TextBox2 Sheets("tabelle1").Cells(Range("A2").Value, 4).Value = Time$ Sheets("tabelle1").Cells(Range("A2").Value, 5).Value = TextBox3 |
Re: Makro Programmierung Excel - VB
Hallo atgis,
leider einige Tipp-Fehler, so müsste es funktionieren:
Code:
Function letzteZeile() As Long
Dim i As Integer, letzteMin As Long, letzteMax As Long For i = 1 To 256 letzteMin = Cells(65536, i).End(xlUp).Row If letzteMax < letzteMin Then letzteMax = letzteMin End If Next i letzteZeile = letzteMax End Function
Code:
Versuchs nochmal.
Sub befuellen()
Cells(letzteZeile + 1, 1) = "Test" Cells(letzteZeile, 2) = "Test2" End Sub Bis bald Chemiker |
Re: Makro Programmierung Excel - VB
Ja Funktioniert...aber dauert sehr lange... es füllt die 5 Zeilen innerhalb von 2 sek. aus... :shock: Das liegt aber wohl an den 65536...
Danke! Nur schade das es nicht noch simpler ging... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz