Zum Inhalt springen

VB excel


Deschdrozer

Empfohlene Beiträge

öhm ich glaube du hast das mit dem import etwas falsch verstanden! das einzigste was das prog macht ist: excel tabelle öffnen und bis jetzt leider nur die erste zeile in ein array speichern! ich will das ganze jetzt in ne schleife packen aber ich brauch j aein zähler und die zeilenanzahl will ich mit dem zähler vergleichenaber wie bekomme ich die anzahl?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich hoffe ich hab Dich richtig verstanden und Du willst die letzte Zeile ermitteln in der ein Wert ist.

Dann ist es doch recht einfach mit einer For ... Next Schleife zu bewältigen mit Hilfe der MS Excel X.0 Object Libary.

Dieser Code ermittelt die letzte Zeile und Spalte in einem definiertem Bereich (kann man ja auf die gesamte Tabelle ausweiten *gähn, warte, warte*). Mit diesen Werten kannst Du dann eine weitere Schleife starten und alle Werte in Dein Array aufnehmen die <> "" sind.

Code:

Option Explicit

Private App As Excel.Application

Private Sub Command1_Click()

Dim i As Integer, c As Integer, Zeile As Integer, Spalte As Integer

Set App = CreateObject("Excel.Application")

App.Visible = False

App.Workbooks.Open FileName:="F:\Test\Excel\Mappe1.xls"

For c = 1 To 20 'Spalten 1 bis 20 durchgehen

For i = 1 To 50 'Zeilen 1 bis 50 durchgehen

If Not App.Cells(i, c).Value = "" Then

If i > Zeile Then

Zeile = i

End If

Spalte = c

End If

Next i

Next c

MsgBox "Höchste Spalte: " & Spalte & vbNewLine & _

"Höchste Zeile: " & Zeile

App.Workbooks.Close

App.Application.Quit

End Sub

Ich hoffe ich konnte Dir helfen.

Gruss

HansiPansi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

hab mich noch mal rangesetzt und hier hast Du eine Funktion die Dir die letzte Zeile angibt:

Option Explicit

Private App As Excel.Application

Private Sub Command1_Click()

Dim i As Integer, c As Integer, Zeile As Integer, Spalte As Integer

Set App = CreateObject("Excel.Application")

App.Visible = False

App.Workbooks.Open FileName:="C:\Mappe1.xls"

MsgBox App.ActiveCell.SpecialCells(xlCellTypeLastCell).Address' Dieser Aufruf gibt die Adresse der letzten Zeile im Format $"Spalte"$"Zeile" zurück

App.Workbooks.Close

App.Application.Quit

End Sub

Ich hoffe Dir ist damit geholfen.

Gruss

HansiPansi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Deschdrozer

mh schön und gut aber was mache ich wenn ich eine excel tabelle 60 zeilen hat *g der zähler schaltet ja nach 50 ab deswegen will ich ja zuerst die zeilenanzahl von der excel tabelle ermitteln und dann diese anzahl als zähler nehmen

Wie ich schon erwähnt hatte

Dieser Code ermittelt die letzte Zeile und Spalte in einem definiertem Bereich (kann man ja auf die gesamte Tabelle ausweiten *gähn, warte, warte*).

kann Du den Bereich der überprüft werden soll auf

For c = 1 To 256 ' Alle Spalten

For i = 1 To 65535 ' Alle Zeilen

ausweiten.

In der Zeit kannst Du dann aber schonmal Deine Mittagspause machen.

Gruss

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...