Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Schleife in VB

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich bin totaler VB-Anfänger. Ich soll aber in Excel mit VB ein kleines Makro in Excel schreiben. Den größten Teil habe ich schon selber geschafft. Aber jetzt komm ich nicht mehr an einer Schleife vorbei, dessen Struktur ich bis jetzt noch nicht ganz begriffen hab. Vielleicht könnt ihr mir ja auf die Sprünge helfen.

Folgendes Problem:

solange Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" + index).Value NICHT leer ist soll die Variable index + 1 gerechnet werden.

Danke im voraus!

Hi,


Dim sTmp   As String

Dim lIndex  As Long


sTmp = Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A1").Value

Do While sTmp <> vbNullString    ' oder -> " " 

     sTmp =Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" & lIndex  lIndex).Value

     lIndex = lIndex   + 1

Loop

Ungetestet, sollte aber in etwa stimmen.

  • Autor

Erstmal vielen Dank für deine Hilfe.

Aber an der Stelle

sTmp =Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" & lIndex  lIndex).Value

kommt die Fehlermeldung:

Fehler beim Kompilieren:

Erwartet: Listentrennzeichen oder )

Woran liegt es?

Naja,

ein wenig selber schauen ist manchmal nicht schlecht:


sTmp =Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" & lIndex  lIndex).Value

wird zu

sTmp =Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" & lIndex).Value

Dann vielleicht mit

sTmp =Workbooks("arbeitsaufwand").Sheets("Übersicht").Range("A" + lIndex).Value

dim index as integer

index = 1

do while tabelle1.cells(index, 1) <> ""

index = index + 1

loop

tabelle1 ist der technische name einer excel tabelle (findet man im VB editor auf der linken seite)

er greift dabei immer auf die tabelle1 zu wo das makro abgelegt ist (und nich auch auf andere mappen wenn die offen sind)

wenn du das makro übergreifen nutzen willst nimm activesheet, aber das da oben sollte erstmal tun

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.