online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon HansD vom 18.07.2019, 13:08 Options

Excel Automatisch mit Werte auffüllen??!!

Ich hab da eine Frage: Ich habe eine Tabelle mit 8 Spalten und vielen Zeilen. Nun möchte ich dieer Tabelle "sagen", dass automatisch immer ein Feldinhalt die ganze (leere) Spalte herunter kopiert werde soll, solange bis er auf einen anderen Feldinalt stößt. Dann soll dieser das selbe tun...

Das ganze soll so in allen 8 Spalten passieren.

Wie kann ich in Excel so etwas realisieren? Da es sich immer um eine andere Tabelle gleichen Msuters handelt kann ich ja kein Amkro aufzeichnen! Wie kann ich diese Logik in VB reaisieren?

Vielen Dank für eure Hilfe!

Hans D


Antwort schreiben

Antwort 1 von nighty vom 18.07.2019, 13:24 Options

hi hans .-)

wie gewuenscht :-)

gruss nighty

einzufuegen
alt+f11/projektexplorer/allgemeines modul/f5 fuer start

Option Explicit
Sub Auffuellen()
Call EventsOff
Dim puffer(8) As Variant
Dim zaehler0 As Long, zaehler1 As Integer, zeile As Long
rem naechste zeile wird spalte 9 abgetastet um ein ende zu ermitteln,waere anzupassen
zeile = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
For zaehler0 = 2 To zeile
For zaehler1 = 1 To 8
If Cells(zaehler0, zaehler1) <> "" Then
puffer(zaehler1) = Cells(zaehler0, zaehler1)
Else
Cells(zaehler0, zaehler1) = puffer(zaehler1)
End If
Next zaehler1
Next zaehler0
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Antwort 2 von HansD vom 18.07.2019, 15:19 Options

nighty, du bist der Hammer!

copy paste --> perfekt! Sogar mit Aneitung!!!!!

Du hast mir echt den Tag ( Feierabend) gerettet!

Du suchst nich tzufällig einen Job ? ^^



Grüße

Hans

Antwort 3 von HansD vom 18.07.2019, 16:45 Options

oho! Nachtrag:!!

Ich hab leider etwas vergessen:

Nachtrag:

Der Feldinhalt soll nur dann runterkopiert werden, wenn sich keine Gefüllte zelle links von der zu füllenden Zelle befindet!

Wenn du mir das noch integrierst bist du mein persönlicher VB Excel- Held!!


Viele Grüße

Hans

Antwort 4 von nighty vom 18.07.2019, 19:12 Options

hi hans :-)

dann ist aber spalte a ausgeschlossen da es da kein links gibt :-))

gruss nighty

Option Explicit
Sub Auffuellen()
Call EventsOff
Dim puffer(8) As Variant
Dim zaehler0 As Long, zaehler1 As Integer, zeile As Long
Rem naechste zeile wird spalte 9 abgetastet um ein ende zu ermitteln,waere anzupassen
zeile = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
For zaehler0 = 2 To zeile
For zaehler1 = 2 To 8
If Cells(zaehler0, zaehler1) <> "" Then
puffer(zaehler1) = Cells(zaehler0, zaehler1)
Else
If Cells(zaehler0, zaehler1 - 1) = "" Then Cells(zaehler0, zaehler1) = puffer(zaehler1)
End If
Next zaehler1
Next zaehler0
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Antwort 5 von nighty vom 18.07.2019, 19:16 Options

hi hans :-)

da beisst sich aber der wolf selbst in *Z* :-))

spalte a ausgeschlossen da es kein links gibt

b wird befuellt
c wird ausgelassen da b befuellt ist
d wird befuellt
e wird ausgeschlossen da d befuellt ist usw.

gruss nighty

Antwort 6 von HansD vom 19.07.2019, 08:40 Options

mmmm du hat recht! irgendie haperts an meiner Logik...

Ich schildere dir das Problem jetzt einfach mal direkt:

Ich hab eine Excel Tabelle, die hat so eine "Stufenform"

Abteilung
U1
.........U11...........676
.........U12...........678
U2
.........U21
................U211...787

Das liegt daran, dass das eine Hirarchie aus einem Programm ist. Da das Excel File riesig ist, und es von den Excel Files viele gibt, muss es automatisiert so aus sehen:

1. Abteilung
2. U1
3. U11 | 676
3. U12 | 678

2.U2
3. U21
4. U211 | 787

Fest ist, dass diese Nr, die immer die "Info" von so einer Strukur ist in Spalte O steht, ansonsten ist die Struktur unterschiedlich "tief"

So kam auch meine Frage zu stande, ich wollte durch das füllen Datensätze erhalten, die in Access zu einem Bericht machen kann.. nur das Problem ist das mit dem Wechsel in der Hirarchie, somit sollte immer wenn in Zeile O etwas steht das "füllen unterbrochen werden, und dann die Hirarchie sich wieder von vorne füllen.. ist das verständlich so???

Ich hoffe man kann es Nachvollziehen!!

Grüße

hans

Antwort 7 von HansD vom 19.07.2019, 10:19 Options

habs gelöst!

For zaehler0 = 2 To zeile
    For zaehler1 = 1 To 13

            If Cells(zaehler0, zaehler1) <> "" Then
        Cells(zaehler0, 1) = zaehler1 & ". " & Cells(zaehler0, zaehler1)
            Cells(zaehler0, 2) = Cells(zaehler0, 14)
                Else
        
                End If
    Next zaehler1
      Next zaehler0



Danke für die Tipps!

Antwort 8 von nighty vom 19.07.2019, 11:31 Options

hi hans :-)

prima :-)) du wirst noch ein excelspezialist :-))

gruss nighty

Ähnliche Themen

Interpolierte Werte auslesen
ThomasL  11.01.2007 - 97 Hits - 3 Antworten

Excel Diagramm mit lückenhaften Date
maverick_1984  17.01.2007 - 120 Hits - 10 Antworten

Daten klassieren in Excel
MichaMUC  18.06.2007 - 127 Hits - 7 Antworten

Erzeugung von Diagrammen automatisieren
Trudi  21.06.2007 - 96 Hits - 9 Antworten

Excel Werte vergleichen
SSL08  11.02.2008 - 158 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026