AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Makro Programmierung Excel - VB
Thema durchsuchen
Ansicht
Themen-Optionen

Makro Programmierung Excel - VB

Ein Thema von atgis · begonnen am 4. Jul 2008 · letzter Beitrag vom 29. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
5. Jul 2008, 13:54
Dieses Thema wurde von "Christian Seehase" von "Object-Pascal / Delphi-Language" nach "Programmieren allgemein" verschoben.
Das ist jetzt ja nicht wirklich Delphi
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Makro Programmierung Excel - VB

  Alt 5. Jul 2008, 13:56
Hallo atgis,

verstehe ich nicht, wie schnell kann’s Du denn schreiben? Du willst die Daten doch in einem Formular eingeben und dann mit einem Maus-Click in die Tabelle übertragen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#13

Re: Makro Programmierung Excel - VB

  Alt 5. Jul 2008, 14:13
Genau...aber bis die 5 Werte in meiner Tabelle stehen vergehen 2 sek^^... Das macht im Prinzip zwar nichts, aber man merkt, damit erst alle 65536 Zeilen durchgezählt werden. Also hab ich das mal so versucht zu optimieren:

Ich zähle in einer anderen Zelle wie Viele Zeilen bereits einen Inhalt haben:
=ZÄHLENWENN(A1:A65536;"<>") 'Das macht eine Excel Funktion

Delphi-Quellcode:
Function letzteZeile() As Long
   Dim i As Integer, letzteMin As Long, letzteMax As Long
   For i = 1 To 256
      letzteMin = Cells(Sheets("Tabelle1").Cells(1, 6) + 1, i).End(xlUp).Row
      If letzteMax < letzteMin Then
         letzteMax = letzteMin
      End If
   Next i
   letzteZeile = letzteMax
End Function
Dann zähle ich den Wert aus dieser Zelle + 1...


Jetzt funktioniert es wie ich es wollte! Vielen Dank Chemiker
  Mit Zitat antworten Zitat
Benutzerbild von Grumble
Grumble

Registriert seit: 19. Mär 2003
Ort: Dresden
203 Beiträge
 
Delphi 6 Enterprise
 
#14

Re: Makro Programmierung Excel - VB

  Alt 21. Jul 2008, 15:43
du koenntest auch die tag eingenschaft des buttons als zaehler benutzen, d.h. die zuletzt geschriebene zeilennummer dort eintragen


du kannst dir auch das zaehlen bis 65xxx ersparen wenn du nach der zuletzt geschriebenen zeile so suchst :

Delphi-Quellcode:
for i = 1 to 65000
  if cells(i,1) = "" then exit for
next i
i sollte dann die erste leere zelle in spalte eins liefern
gruss
Grumble

... moege der code mit dir sein ...
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Makro Programmierung Excel - VB

  Alt 23. Jul 2008, 00:15
Hallo Grumble,

es funktioniert aber nur, wenn sich keine leere Zelle in der Spalte befindet.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Makro Programmierung Excel - VB

  Alt 24. Jul 2008, 02:37
@atgis:
Wenn ich das alles richtig verstanden habe, möchtest du sicherstellen, daß neue Eingaben immer in die Zeile gestellt werden, die unter der bisher letzten Zeile der Tabelle liegt.

Ich benutze für solche Zwecke folgende 3 Lösungen um die bisher letzte Zeile einer Tabelle zu bestimmen

Delphi-Quellcode:
Function LastRow1() As Long
    LastRow1 = ActiveSheet.Cells(1, 1).End(xlDown).Row
End Function
Delphi-Quellcode:
Function LastRow2() As Long
    LastRow2 = ActiveSheet.Cells(65536, 1).End(xlUp).Row
End Function
Delphi-Quellcode:
Function LastRow3() As Long
    With ActiveSheet.UsedRange
        LastRow3 = .Row + .Rows.Count - 1
    End With
End Function
Version 1 und 2 sind dann problematisch wenn die Tabelle nicht vollständig gefüllt ist.
Version 3 dürfte die zuverlässigste sein, weil hier gleichgültig ist, wo auf dem Sheet sich die Tabelle befindet und ob alle Zeilen der Tabelle vollständig gefüllt sind. Diese Version gibt immer die unterste nichtleere Zeile des WorkSheets zurück.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
QuizMaster

Registriert seit: 28. Jul 2008
2 Beiträge
 
#17

Re: Makro Programmierung Excel - VB

  Alt 29. Jul 2008, 09:16
Nur so am Rande, für alle Excel- und VB- fragenden...
Da gäbs noch ein Klasse Excel forum,...

http://www.vb-fun.de/vb/index.htm

Aber noch besser sind dort die Beispielprojekte
(auch ein Ende Zeilen/ Spaltenprojekt,... was ja hier benötigt wurde)

Reinschauen lohnt sich,...
ich hoffe ich hab mich jetzt nicht strafbar gemacht, indem ich
ein anderes forum vorgeschlagen hab

Also chiao
QuizM
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz