עבור לתוכן

לולאה VBA

Featured Replies

פורסם

יש לי טבלה ,בעלת 3 שדות id-year-season , הממויינת בסדר עולה, כדלקמן

1-2000-3

1-2001-4

1-2002-5

2-2002-6

2-2003-3

3-2000-5

3-2002-9

4-2005-8

4-2006-3

עליי להציג את שלושת הנתונים בשורה, שהם מייצגים רק את השנה האחרונה בכל id. לדוגמה 1-2002-5, 2-2003-3

ניסיתי לייצור לולאה אם מצביע אחד. בלולאה יש שני תנאים 1) אשר בודק בכל שורה אם ה id גדול מהמשתנה של id בערך של השורה הקודמת. 2) תנאי שבודק אם הערך של ה id בטבלה שווה לערך במשתנה של id המצציג את השורה שלמעלה.

על פי לולאה זו אינני מצליח להציג רק את הנתונים הרלוונטים.

חשבתי על פתרון אחר, להשתמש בשני מצביעים. בתחילה לקדם את המצביע השני פעמיים. ולבדוק אם ה id של המצביע השני גדול מה -id של המצביע הראשון. אם כן, אז להכניס למשתנה את הערכים של המצביע הראשון. אולם, קשה לי ליישם זו. האם תוכלו לעזור לי בבניית לולאה זו, או לחילופין, במתן פתרון נוסף.

פורסם

על איזה מצביעים אתה מדבר?

למה שלא נתסה למיין את הנתונים שלך קודם לפי הIP, ואחר כך לפי השנה?

פורסם
  • מחבר

הטבלה ממויינת. הערכים בשדה השמאלי הינם ה ID.

הבעייה היא בניית האלגוריתם של הלולאה, אשר תציג רק את הערכים/שורות שאני מעוניין בהם (כפי שציינתי למעלה)

פורסם

קודם, תפריד את זה ל- 2 מקרים - כאשר יש 2 רשומות ויותר, וכאשר יש רק רשומה אחת.

אם יש רק רשומה אחת, אתה מציג אותה בלבד.

אם יש 2 או יותר רשומות, תעשה משהו כז:


for i=2 to count step 1
if id(i-1) <> id(i) then
print year(i-1)
end if
next i
if id(count) = id(count - 1) then
print year(i)
end if

פורסם
  • מחבר

בעזרת חבר הצלחתי. תודה על התגובה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים