Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VB Schleife -> alle
#1
Hallo Zusammen,

ich bräuchte da mal wieder eure hilfe =)

Ich habe in dem Sheet(Stationen) eine Liste. 
In anderen Sheets (mit den Namen "1"  "2"  "3" usw.) werden Zeilen durch "=Stationen!C236" kopiert. 
Im Sheet(Stationen) möchte ich eine neue Zeile hinzufügen, die wiederum in allen anderen Sheets(1,2,3 usw.) automatisch hinzugefügt wird, aber nur dort wo die oberste und unterste Zeile identisch ist. 
" ist ein bisschen kompliziert " 
Im folgendem VB habe ich das schon soweit erreicht, das er mir nur in einem Sheet1 diese Zeile kopiert. Mir fehlt aber das er alle Sheets (1,2,3 usw.) überprüft -> Schleife 

Ich hoffe ihr könnt mir das weiterhelfen =)
______________________________________________________________________________________________________

Code:
Sub Zeile_Einfuegen()

Dim zeile As Integer 'gewählte zelle

zeile = ActiveCell.Row

'drei Zellen markieren
With ActiveCell
Range(.Offset(0, -2), .Offset(0, 0)).Select
End With

'neue Zellen in Tab Stationen einfügen
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
zeile = zeile + 1 'Zeile ist nun nach unten gerutscht

'Schleife MTM 1 bis 5

'in MTM Tab nach Formel suchen
Dim zeilen_nr As Integer 'zeile in MTM
zeilen_nr = finde_eintrag(zeile) 'Funktion Einträge suchen

'Zelle in MTM auswählen
Sheets("1").Select              'muss noch als schleife
Range("F" & zeilen_nr).Select
'Zellen markieren A bis F
With ActiveCell
Range(.Offset(0, -5), .Offset(0, 0)).Select
End With
'neue Zellen einfügen
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

'in F Verlinkung zu Stationen Zelle erstellen
Sheets("1").Range("F" & zeilen_nr) = "=Stationen!C" & zeile - 1 'Muss noch als schleife

'zu Tab Stationen zurück
Sheets("Stationen").Activate

End Sub


'Eintraege suchen
Private Function finde_eintrag(zeile As Integer) As Integer
Dim zelleninhalt As String
Dim referenzzeile As Integer

    finde_eintrag = 0
    anzahl_zeilen = WorksheetFunction.CountA(Sheets("1").Range("F:F")) 'muss noch als schleife
 
    For i = 10 To anzahl_zeilen 'suche alle zeilen in MTM ab
    zelleninhalt = Sheets("1").Range("F" & i).Formula 'muss noch als Schleife
    zelleninhalt = Mid(zelleninhalt, 13, 3) 'betrachte nur die zeilennummer aus der Funktion
    referenzzeile = zelleninhalt
            'checke inhalt
        If referenzzeile = zeile Then
        finde_eintrag = i
        Else
        End If
    Next i
End Function

Vielen Dank im voraus

Gruß Homann
Antworten Top
#2
Du kannst die einzelnen Tabellenblätter einer Mappe folgendermaßen durchlaufen:

1. Definiere eine Variant-Variable:

Code:
Dim Blatt As Variant

2. Dann baue eine 'FOR EACH'-Schleife in Deinen Code ein:

Code:
For Each Blatt In ActiveWorkbook.Worksheets

   'hier steht Dein ganzer Code, der sich auf die Tabelle bezieht:
   'Auf das aktuelle Blatt innerhalb dieser Schleife greifst Du über die Objekt-Variable Blatt zu:
   'Beispiel:

   MsgBox Blatt.Name
  'Willst Du bestimmte Blätter ausschließen, dann prüfen z.B. den Namen ab und übergehe dann das Blatt
  if(Blatt.Name <> "Tabelle1") then 'Achte auf Groß- und Kleinschreibung oder nutze beim Vergleich die Funktion UCASE()

  end if

Next
---           Seid nett und helft einander :100:           ---
---   denn die Liebe ist die größte Kraft im Universum    ---
- Lest die Werke von Jakob Lorber und Gottfried Mayerhofer -
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste