Microsoft Excel

Herbers Excel/VBA-Archiv

Arbeitscode | Herbers Excel-Forum


Betrifft: Arbeitscode von: Alexander
Geschrieben am: 16.11.2009 21:27:19

Guten Abend,

ich habe folgendes Problem:

Ich habe eine Arbeitsmappe "Datenblätter" mit 150 Tabellenblättern.
In Tabelle150;SpalteA, von A1 beginnend stehen Namen.
In jedem Tabellenblatt der Arbeitsmappe soll die Zelle A4 mit einem Namen (die in Tabelle150 stehen) befüllt werden.

Der 1. Name (steht in Tabelle150,ZelleA1) soll in Zelle A4 vom Tabellenblatt das auf Position 5 liegt geschrieben werden.
Der 2. Name (steht in Tabelle150,ZelleA2) soll in Zelle A4 vom Tabellenblatt das auf Position 6 liegt
geschrieben werden.
usw.
bis alle vorhandenen Tabellenblätter befüllt sind,
außer den Tabellenblättern die auf Position 1-4 liegen und Tabelle150 nicht.

Kann mir jemand mit einem "Arbeitscode" behilflich sein?
Würde mir ein Haufen Arbeit und Zeit sparen.

Danke im Voraus,
Alexander


  

Betrifft: Zellen aus Tabellenblatt befüllen von: NoNet
Geschrieben am: 16.11.2009 22:02:51

Hallo Alexander,

teste diesen Code bitte zunächst an einer Kopie Deiner Mappe :

Sub ArbeitscodeFuerAlexander()
    Dim lngZ As Long
    For lngZ = 5 To Sheets.Count
        If Sheets(lngZ).Name <> "Tabelle150" Then _
            Sheets(lngZ).[A4].Value = Sheets("Tabelle150").Cells(lngZ, 1)
    Next
End Sub
Gruß, NoNet


  

Betrifft: Korrektur : Cells(lngZ-4, 1) von: NoNet
Geschrieben am: 16.11.2009 22:11:07

Hey Alexander,

es muss natürlich lauten :

If Sheets(lngZ).Name <> "Tabelle150" Then _
Sheets(lngZ).[A4].Value = Sheets("Tabelle150").Cells(lngZ-4, 1)

Gruß, NoNet


  

Betrifft: AW: Arbeitscode von: Beni
Geschrieben am: 16.11.2009 22:04:43

Hoi Alexander
Beni

Sub Tabellen_mit_Namen_füllen()
    For sh = 5 To 149
        Sheets(sh).Cells(4, 1) = Sheets(150).Cells(sh - 4, 1)
    Next sh
End Sub



  

Betrifft: AW: Arbeitscode von: Christian
Geschrieben am: 16.11.2009 22:05:12

Hallo Alexander,
ohne weitere Feherabfangung (zB. wenn in Tab150 mehr Daten stehen als Tabellen vorhanden sind) _ mal schnell geschossen:

Option Explicit

Sub VerteilDat()
    Dim i&
    
    With ThisWorkbook
        For i = 1 To .Sheets("Tabelle150").Cells(Rows.Count, 1).End(xlUp).Row
            .Sheets(i + 4).Cells(4, 1) = .Sheets("Tabelle150").Cells(i, 1)
        Next
    End With
End Sub

Gruß
Christian


  

Betrifft: Super, Danke, die laufen alle drei k.w.T :o) von: Alexander
Geschrieben am: 16.11.2009 22:20:04

.