Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anpassung Tabellenblatt

Anpassung Tabellenblatt
03.09.2020 12:15:44
Norist
Hallo!
Da ich gerade erst anfange, mich in VBA einzulesen, könnte ich ein wenig Hilfe gebrauchen. Da die Daten in dem Tabellenblatt vertraulich sind, kann ich das jetzt nicht einfach hier einfügen, sondern versuche es erstmal zu beschreiben.
Ich möchte gerne eine Kopie eines bestehenden Tabellenblattes auf ein neues Tabellenblatt - allerdings mit angepassten Werten der vorigen Tabelle.
Wenn bspw. "nicht erforderlich" steht, soll das Feld leer werden.
Wenn ein Datum kommt, soll daraus, je nach Spalte, ein bestimmter Wortlaut kommen.
Ganz wichtig ist aber: Wenn in einer Zeile NUR "nicht erforderlich" bzw. " " steht (also KEINE Zelle darf ein Datum o.ä. beinhalten), soll diese Zeile komplett gelöscht werden.
Das Ergebnis wäre also eine ausgedünnte neue Tabelle der Originaltabelle.
Ohne jetzt die Struktur der Tabelle zu kennen, wäre ich euch sehr dankbar, vielleicht ein paar Codeschnipsel zu bekommen, mit denen ich das umsetzen kann!
Viele Grüße

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Crosspost ohne Hinweis
03.09.2020 12:40:54
Werner
Hallo,
würdest du bitte die Beiträge in den verschiedenen Foren untereinander verlinken.
Gruß Werner
AW: Crosspost ohne Hinweis
03.09.2020 12:57:04
Norist
Hallo Werner,
wie meinst du? Soll ich die jeweils anderen Foren in den Thread einpflegen?
AW: Crosspost ohne Hinweis
03.09.2020 13:34:49
SF
Hola,
ja, genau das.
Gruß,
steve1da
AW: Anpassung Tabellenblatt
03.09.2020 14:30:08
Sebastian
Hier folgend mal ein Muster, wie die Tabelle aussieht.
https://www.herber.de/bbs/user/140020.xlsx
Anzeige
AW: Anpassung Tabellenblatt
03.09.2020 19:32:09
Werner
Hallo,
warum neuer Name?
Teste mal:
Sub Schaltfläche1_Klicken()
Dim i As Long, raWeg As Range
Application.ScreenUpdating = False
Worksheets("Tabelle1").Range("A1").CurrentRegion.Copy _
Worksheets("Tabelle2").Range("A1")
With Worksheets("Tabelle2")
.Columns("A:K").AutoFit
.Columns("C:K").Replace "nicht erforderlich", ""
For i = 2 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If WorksheetFunction.CountA(.Range(.Cells(i, "C"), .Cells(i, "K"))) = 0 Then
If raWeg Is Nothing Then
Set raWeg = .Cells(i, "A").Resize(, 11)
Else
Set raWeg = Union(raWeg, .Cells(i, "A").Resize(, 11))
End If
End If
Next i
If Not raWeg Is Nothing Then
raWeg.Delete
End If
End With
Set raWeg = Nothing
End Sub
Gruß Werner
Anzeige
AW: Anpassung Tabellenblatt
03.09.2020 19:48:25
Sebastian
Hallo Werner,
das mit dem Namen war ein Versehen, da von einem anderen Rechner aus geschrieben.
Dein Beispiel funktioniert wirklich wunderbar und ich kann damit gut weiterarbeiten!
Eine Frage hätte ich noch: Wie bringt man dem Makro per VBA bei, eine Zelle mit Datum mit einem bestimmten Text zu ersetzen?
Grüße!
AW: Anpassung Tabellenblatt
04.09.2020 00:52:56
Sebastian
Ich hab jetzt wirklich einige Stunden lang gesucht und gebastelt und finde keinen Weg, wie das Makro bei einem Datum in Zellen der jeweiligen Spalte das Datum mit einem Text ersetzt.
Entweder er schreibt gar nichts hin oder aber in JEDE Zelle.
Bei mir scheitert es an zweierlei Art Verständnis:
1. Wie bekomme ich es hin, dass nur eine Spalte (bis zur letzten Zeile) analysiert werden soll?
2. Wie schaffe ich es, dass nur die Zellen mit einem Datum drin verändert werden?
Anzeige
AW: Anpassung Tabellenblatt
04.09.2020 09:02:48
Werner
Hallo,
wenn du mal konkret werden würdest, dann könnte man auch weiter machen.
Im Eingangsbeitrag steht:
Wenn ein Datum kommt, soll daraus, je nach Spalte, ein bestimmter Wortlaut kommen.
Das heißt jetzt konkret was, bei jeder Spalte ein anderer "Text"?
Und was für ein "Text" den bitte?
Gruß Werner
AW: Anpassung Tabellenblatt
04.09.2020 09:05:07
Sebastian
Hallo,
Okay, konkret (auf das Musterbeispiel bezogen):
Wenn in Spalte C (mit G20 als Überschrift) irgendwo ein Datum auftaucht, soll dastehen: G20-Angebot.
Spalte D (G23 Überschrift) dann bei jedem Datum G23-Angebot usw.
Grüße
AW: Anpassung Tabellenblatt
04.09.2020 09:40:11
Werner
Hallo,
so:
Option Explicit
Sub Schaltfläche1_Klicken()
Dim i As Long, z As Long, raWeg As Range
Application.ScreenUpdating = False
Worksheets("Tabelle1").Range("A1").CurrentRegion.Copy _
Worksheets("Tabelle2").Range("A1")
With Worksheets("Tabelle2")
.Columns("A:K").AutoFit
.Columns("C:K").Replace "nicht erforderlich", ""
For i = 2 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If WorksheetFunction.CountA(.Range(.Cells(i, "C"), .Cells(i, "K"))) = 0 Then
If raWeg Is Nothing Then
Set raWeg = .Cells(i, "A").Resize(, 11)
Else
Set raWeg = Union(raWeg, .Cells(i, "A").Resize(, 11))
End If
End If
Next i
If Not raWeg Is Nothing Then
raWeg.Delete
End If
For i = 3 To 11
For z = 2 To .Columns(i).Find(what:="*", LookIn:=xlValues, lookat:=xlWhole, _
searchdirection:=xlPrevious).Row
If IsDate(.Cells(z, i)) Then .Cells(z, i) = .Cells(1, i) & "-Angabot"
Next z
Next i
End With
Set raWeg = Nothing
End Sub
Gruß Werner
Anzeige
AW: Anpassung Tabellenblatt
04.09.2020 10:14:12
Sebastian
Hallo Werner,
das funktioniert super! Und vor allem verstehe ichs auch, weil du genau den logischen Schritt verwendet hast, der mir gefehlt hatte. Danke!
Grüße
Gerne u. Danke für die Rückmeldung. o.w.T.
04.09.2020 11:30:36
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige